首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
请编写函数fun,函数的功能是:判断字符串是否为回文?若是,函数返回1,主函数中输出:YES:否则返回0,主函数中输出NO。回文是指顺读和倒读都一样的字符串。 例如,字符串LEVEL是回文,而字符串123312就不是回文。 注意:部分源程序
请编写函数fun,函数的功能是:判断字符串是否为回文?若是,函数返回1,主函数中输出:YES:否则返回0,主函数中输出NO。回文是指顺读和倒读都一样的字符串。 例如,字符串LEVEL是回文,而字符串123312就不是回文。 注意:部分源程序
admin
2020-11-27
57
问题
请编写函数fun,函数的功能是:判断字符串是否为回文?若是,函数返回1,主函数中输出:YES:否则返回0,主函数中输出NO。回文是指顺读和倒读都一样的字符串。
例如,字符串LEVEL是回文,而字符串123312就不是回文。
注意:部分源程序在文件PROG1.C中。
请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。
#include
#include
#define 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);
else 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
解析
进入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/Op3p777K
本试题收录于:
二级C语言题库NCRE全国计算机二级分类
0
二级C语言
NCRE全国计算机二级
相关试题推荐
有三个关系R、S和T如下:由关系R和S通过运算得到关系T,则所使用的运算为
有以下程序#includevoidf(int*q){inti=0;for(;i<5;i++)(*q)++;}main(){inta[5]={1,2,3,4,5},i;f(a);for(i=0;i<5;i++)printf("%d,",a[
有以下程序main(){inta=3;do{printf("%d,",a-=2);}while(!(-a);printf("\n");}程序运行后的输出结果是
若各选项中所用变量已正确定义,函数fun中通过return语句返回一个函数值,以下选项中错误的程序是
下列叙述中错误的是()。
软件生命周期是指()。
一般情况下,当对关系R和S进行自然连接时,要求R和S含有一个或者多个共有的()。
下列说法正确的是()。
以下关于简单程序设计的步骤和顺序的说法中正确的是
以下正确的说法是()。
随机试题
A.加味二妙散B.三仁汤C.清燥救肺汤D.虎潜丸痿证肺热津伤证代表方为
氨由肌肉组织通过血液向肝进行转运的过程是()
A.关节间隙狭窄,关节边缘有“骨刺”形成B.骨质疏松,关节间隙狭窄,附近骨组织呈磨砂玻璃样改变C.椎体无骨质破坏,脊柱呈“竹节”样改变D.椎体破坏,累及相邻椎体,椎间隙狭窄,伴椎旁梭形阴影类风湿关节炎的X线表现为
儿童病人尿道下裂的最佳分期手术年龄是
公开发行可转换公司债券应当提供担保,但最近1期末经审计的净资产不低于人民币()亿元的公司除外。
某永续年金每年都产生15元的现金流,若年利率为10%,则该年金流现值为()元。
战略决策与战术决策的区别在于()。
做学问,“要大处着眼,小处下手”,由博人专,不可急功近利。能大处着眼,为学方不致流于_________,而有裨益于世;能小处下手,方不致流于________。所以做学问千万不要求速效。填入画横线部分最恰当的一项是:
在考生文件夹中有一个工程文件execise54.vbp设窗体文件execise54.frm。在窗体Form1中已经给出了所有控件,如下图所示。编写适当的事件过程实现以下功能;
A、LegislationtoreducetheUSdebtiswaitingtobeapprovedbyCongress.B、TheUSisamongthe30countrieswithoutvotingpri
最新回复
(
0
)