首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
请编写函数fun,函数的功能是:判断字符串是否为回文?若是,函数返回1,主函数中输出:YES;否则返回0,主函数中输出NO。回文是指顺读和倒读都一样的字符串。 例如,字符串LEVEL是回文,而字符串123312就不是回文。 注意:部分源程序
请编写函数fun,函数的功能是:判断字符串是否为回文?若是,函数返回1,主函数中输出:YES;否则返回0,主函数中输出NO。回文是指顺读和倒读都一样的字符串。 例如,字符串LEVEL是回文,而字符串123312就不是回文。 注意:部分源程序
admin
2015-06-08
72
问题
请编写函数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全国计算机二级
相关试题推荐
若有以下定义:intt[3][2];,能正确表示t数组元素地址的表达式是______。
有以下程序:int*f(int*x,int*y){if(*x<*y)returnx;elsereturny;}main(){inta=7,b=8,*p,*q,*r;p=&a;q=
设有声明语句chara=’\72’;,则变量a______。
X、Y、Z被定义为mt型变量,若从键盘给X、Y、2输入数据,正确的输入语句是______。
运行下面的程序,其输出结果为______。main(){pintf("%d,%d",5%-3,-5%3);}
若已定义:inta[10],i;,以下fun函数的功能是:在第一个循环中给前10个数组元素依次赋1、2、3、4、5、6、7、8、9、10;在第二个循环中使a数组前10个元素中的值对称拆叠,变成1、2、3、4、5、5、4、3、2、1。请填空. fun(
下列语句中符合C语言语法的赋值语句是_______。
若x、y和z均是int型变量,则执行下面表达式后的x值为【】。x=(y=4)+(z=3)
要求以下程序的功能是计算s=1+1/2+1/3+…+1/10main(){intn;floats;s=1.0;for(n=1O;n>1;n--)s=s+1/n;printf("%6.4f\n
函数pi的功能是根据以下近似公式求π值:(π*π)/6=1+1/(2*2)+1/(3*3)+…+1(n*n)现在请你在下面的函数中填空,完成求π的功能。#include“math.h"{doubles=0.0;
随机试题
Inancienttimesthemostimportantexaminationswerespoken,notwritten.IntheschoolofancientGreeceandRome,testingusu
恶性肿瘤最本质的表现是
在时间一放射性曲线的分析中,有一种数据处理方法能消除注射时“弹丸”质量和心脏再循环等因素的影响,获得代表脏器固有特性的响应曲线。这种方法是
注册安全工程师履行的权利不含()。
()引发的操作性风险是由于信息科技部门或服务供应商提供的计算机系统或设备发生故障或者其他原因,商业银行不能正常提供部门,全面服务或业务中断而造成的损失。
下列各项中,反映会计要素之间基本关系的是()。
甲公司是一个模具生产企业,只生产一种产品,产品在两个车间进行,第一车间为第二车间提供半成品,第二车间加工成产成品,每件产成品耗用2件半成品,甲公司用平行结转分步法计算产品成本,月末盘点,按约当产量法在完工产品和在产品问分配产品费用。第一车间原材料逐渐
机器质量的好坏是保证生产安全的一个重要条件。
商标平行进口是指在国际货物买卖中,某商标权或商标使用权已受一国法律保护,而进口商未经该国商标所有人或商标使用权人许可,从国外进口相同商标商品。根据上述定义,下列选项属于商标平行进口的是()。
Inthesummerof2010,record-hightemperatureshitMoscow.Atfirstitwasjustanother【C1】______butthescorchingheatthats
最新回复
(
0
)