首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
请编写函数fun,函数的功能是:判断字符串是否为回文?若是,函数返回1,主函数中输出:YES;否则返回0,主函数中输出NO。回文是指顺读和倒读都一样的字符串。 例如,字符串LEVEL是回文,而字符串123312就不是回文。 注意:部分源程序
请编写函数fun,函数的功能是:判断字符串是否为回文?若是,函数返回1,主函数中输出:YES;否则返回0,主函数中输出NO。回文是指顺读和倒读都一样的字符串。 例如,字符串LEVEL是回文,而字符串123312就不是回文。 注意:部分源程序
admin
2015-06-08
71
问题
请编写函数fun,函数的功能是:判断字符串是否为回文?若是,函数返回1,主函数中输出:YES;否则返回0,主函数中输出NO。回文是指顺读和倒读都一样的字符串。
例如,字符串LEVEL是回文,而字符串123312就不是回文。
注意:部分源程序在文件PROGl.C中。
请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。
#include
#include
#defime N 80
int fun(char *str)
{
}
msin()
{ char s[N] ; void NONO();
printf(“Enter a string:”); gets(S);
printf(“\n\n”);puts(s);
if(fun(S))printf(“YES\n”);
else printf(“NO\n”);
NONO();
}
void NONO()
{/*请在此函数内打开文件,输入测试数据,调用fun函数,输出数据,关闭文件。 */
FILE*rf, *wf;
int i;char S[N];
rf=fopen(“in.dat”,“r”);
wf=fopen(“out.dat”,“W”);
for(i=0; i<10; i++) {
fscanf(rf, "%S", s);
if(fun(S))fprintf(wf,“%S
YES\n”,s);
e2Se fprintf(wf,“%S NO\n”,s);
}
fclose(rf); fclose(wf);
}
选项
答案
int i,n=0,flag=1; //初始设置标识位 flag=1 char *p=str; //设置工作指针 while (*p) //取字符串大小 { n++; p++; } for(i=0;i
解析
该程序功能是判断字符串是否为回文。其中,回文是指顺读和倒读都一样的字符串。解题过程首先利用while循环取得字符串的长度n,然后循环判断正序第i个字符和其对应的逆序字符n一1-i个是否相等,也就是判断是否是回文。
[解题思路]
进入fun函数,根据前面的分析:
主要思路是:
(1)首先用整型变量i表示所判断的字符串中前面对应元素的下标。i初值为0,n是字符串的长度,通过循环来求得n。
(2)然后,把下标为i的字符与下标为“n-1-i”的字符比较,如果相同,i加1,继续进行一对一的字符比较。不断重复此过程,直到i≥n/2为止。在此过程中,如果下标为i的字符与下标为“n-1-i”的字符不相同,则可以断定字符串不是吲文,立即退出函数。
(3)如果正常结束循环,就说明字符串符合回文条件。
转载请注明原文地址:https://kaotiyun.com/show/FaJp777K
本试题收录于:
二级C语言题库NCRE全国计算机二级分类
0
二级C语言
NCRE全国计算机二级
相关试题推荐
有如下程序:#definen2#definemN+1#defineNUM2*m+1main(){inti;for(i=1;i<=NUM;i++)printf("%d\n",
下面程序的输出结果是______。main(){charstr[10],c=’a’;inti=0;for(;i<5;i++)str[i]=C++;printf("%s",str);}
有如下程序main(){intx=3;do{printf("%d",x--);}while(!x);}该程序的执行结果是______。
下列函数定义中,会出现编译错误的是______。
运行下面的程序,其输出结果为______。main(){pintf("%d,%d",5%-3,-5%3);}
下面invert函数的功能是将一个字符串str的内容颠倒过来。请填空。 #include<string.h> voidinvert(charstr[]) {inti,j【】; for(i=0,j=strlen(str)
若有以下说明和语句,请选出哪个是对c数组元素的正确引用_______。intc[4][5],(*cp)[5];cp=c;
下列语句中符合C语言语法的赋值语句是_______。
函数pi的功能是根据以下近似公式求π值:(π*π)/6=1+1/(2*2)+1/(3*3)+…+1(n*n)现在请你在下面的函数中填空,完成求π的功能。#include“math.h"{doubles=0.0;
若有说明inti,j=2,*p=&i;,则能完成i=j赋值功能的语句是______。
随机试题
A.国家食品药品监督管理总局B.省级食品药品监督管理部门C.中国食品药品检定研究院D.省级药品检验所基本药物评价性抽检工作的主管部门是
关于故意的认识内容,下列哪一选项是正确的?
下列表述中,正确的是( )。
事件树分析法是一种时序逻辑的事故分析方法,其作用表现在()
学历教育是根据国家教育部下达的招生计划录取的学生,按教育主管部门认可的教学计划实施教学,学生完成学业后,由学校颁发国家统一印制的毕业证书和学位证书。()
在考生文件夹下完成下列操作:(1)用命令新建一个名为“外汇”的数据库,并将该命令存储于one.txt中。(2)将自由表“外汇汇率”、“外汇账户”、“外汇代码”加入到新建的“外汇”数据库中。(3)用SQL语句在“外汇”数据库中新建一个数
设有两个数据库表,父表和子表之间是一对多的联系,为控制子表和父表的联系,可以设置“参照完整性规则”,为此要求这两个表
设已有定义:floatx.则以下对指针变量p进行定义且赋初值的语句中正确的是()。
IlivedwithMotherin"alargewhitehousesurroundedbytalltrees.Itwasalongwalktothenearestbuildingsaswewerebey
DoingBusinessinAsiaManyWesternerswantingtodobusinessesinAsiannationsseekinformationandadviceaboutthingsth
最新回复
(
0
)