首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
请编写函数fun,函数的功能是:判断字符串是否为回文?若是,函数返回1,主函数中输出:YES;否则返回0,主函数中输出NO。回文是指顺读和倒读都一样的字符串。 例如,字符串LEVEL是回文,而字符串123312就不是回文。 注意:部分源程序
请编写函数fun,函数的功能是:判断字符串是否为回文?若是,函数返回1,主函数中输出:YES;否则返回0,主函数中输出NO。回文是指顺读和倒读都一样的字符串。 例如,字符串LEVEL是回文,而字符串123312就不是回文。 注意:部分源程序
admin
2015-06-08
61
问题
请编写函数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全国计算机二级
相关试题推荐
在C语言中,函数中变量的隐含存储类别是______。
有如下程序intfunc(inta,intB){return(a+B);}main(){intx=2,y=5,z=8,r;r=func(func(x,y),z);prin
下列函数定义中,会出现编译错误的是______。
库函数strcpy用以复制字符串,若有以下定义和语句:charstr1[]="china",str2[10],*str3,*str4="china";则对库函数strcpy的正确的调用是_______。
若已定义:inta[9],*p=a;并在以后的语句中未改变p的值,不能表示a[1]地址的表达式是_______。
数据库设计包括两个方面的设计内容,它们是_______。
下面函数用来求两个单精度数之和,并通过形参将结果传回,请填空。voidsub(floatx,floaty,【】z){【】=x+y;}
若x、y和z均是int型变量,则执行下面表达式后的x值为【】。x=(y=4)+(z=3)
有以下程序(提示,程序中fseek(fp,-2L*sizeof(int),SEEK_END);语句的作用是使位置指针从文件末尾向前移2*sizeof(int)字节):#include<stdio.h>main(){FILE
阅读以下函数:fun(char*s1,char*s2){inti=0;while(s1[i]==s2[i]&&s2[i]!=’\0’)i++;return(s1[i]==&&s2{i)!==’\0’)
随机试题
企业在不同产品寿命周期阶段应采取不同的产品战略,适宜在投入期选择的产品战略有()
下列哪一项为尖锐湿疣的中医病因病机()
A.化湿行气,温中止泻,安胎B.化湿,解暑,止呕C.行气,燥湿,消积,平喘D.燥湿健脾,祛风湿E.燥湿行气,温中止呕砂仁的功效是()
英译汉:“phytosanitary celtificate;fumigation/disinfection certificate”,正确的翻译为( )。
在下列各项中,不能用于加权平均资金成本计算的是( )。
下列各项中,可以作为纳税抵押财产的有()。
通常,在年终决算之前要()。
EdmundSpenser’smasterpieceis______.
求
(50)是质量计划编制过程常用的工具和技术。
最新回复
(
0
)