首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
请编写函数fun,该函数的功能是:判断字符串是否为回文,若是,则函数返回1,主函数中输出"YES",否则返回0,主函数中输出"NO"。回文是指顺读和倒读都一样的字符串。 例如,字符串LEVEL是回文,而字符串123312就不是回文。 注意:部分源程序在文件
请编写函数fun,该函数的功能是:判断字符串是否为回文,若是,则函数返回1,主函数中输出"YES",否则返回0,主函数中输出"NO"。回文是指顺读和倒读都一样的字符串。 例如,字符串LEVEL是回文,而字符串123312就不是回文。 注意:部分源程序在文件
admin
2017-02-24
58
问题
请编写函数fun,该函数的功能是:判断字符串是否为回文,若是,则函数返回1,主函数中输出"YES",否则返回0,主函数中输出"NO"。回文是指顺读和倒读都一样的字符串。
例如,字符串LEVEL是回文,而字符串123312就不是回文。
注意:部分源程序在文件PROG1.C中。
请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。
试题程序:
#include<stdio.h>
#define N 80
int fun(char*str)
{
}
main()
{
char s[N];
FILE*out;
char*test[]={"1234321","123421","123321","abcdCBA"};
int i;
printf("Enter a string:");
gets(s),
printf("\n\n");
puts(s);
if(fun(S))
printf("YES\n");
else
printf("NO\n");
/******************/
out=fopen("out.dat","w");
for(i=0;i<4;i++)
if(fun(test
))
fprintf(out,"YES\n");
else
fprintf(out,"NO\n");
fclose(out);
/******************/
}
选项
答案
int fun(char*str) { int i,n=0,fg=1; char*p=str; while(*p)/*将指针p置位到字符串末尾,并统计字符数*/ { n++; p++; } for(i=0;i<n/2;i++) /*循环比较字符*/ if(str[i]=str[n一1一i]);/*相同,什么都不作*/ else/*不同,直接跳出循环*/ { fg=0; break; } return fg; }
解析
判断回文就是将第一个字符与最后一个字符比较,第二个字符与倒数第二个字符进行比较,依此类推,直到中间的字符,如果比较的结果都相同,那么这个字符串就是回文,否则不是。程序中循环语句用来遍历字符串,条件语句用来判断当前字符与对应位置的字符是否相同。
转载请注明原文地址:https://www.kaotiyun.com/show/4MDp777K
本试题收录于:
二级C语言题库NCRE全国计算机二级分类
0
二级C语言
NCRE全国计算机二级
相关试题推荐
C语言可执行程序的开始执行点是()。
有以下程序段,且变量已正确定义和赋值for(s=1.0,k=1;k<=n;k++)s=s+1.0/(k*(k+1));printf("s=%f\n\n",s);请填空,使下面程序段的功能与之完全相同S=1.0;k=1;while([8]
以下程序的输出结果是main(){intc=35;printf("%d\n",c&c);}
有以下程序#include<string.h>main(){charp[20]={’a’,’b’,’c’,’d’},q[]="abc",r[]="abcde";strcat(p,r);strcpy(p+strlen(q),
已知大写字母A的ASCII码是65,小写字母a的ASCII码是97。以下不能将变量c中的大写字母转换为对应小写字母的语句是
在执行下述程序时,若从键盘输入6和8,则结果为main(){inta,b,s;scanf("%d%d",&a,&b);S=aif(a<B)s=b;S*=S;printf("%d",s);}
以下叙述中错误的是
对下述程序的判断中,正确的是#includevoidmain(){char*p,s[128];p=s;while(strcmp(s,"End")){printf("Inputastring:");gets(s);w
下列函数的运行结果是main(){inti=2,p;intj,k;j=i;k=++i;p=f(j,k);printf("%d",p);}intf(inta,intb){intc;if(a>b
函数的值通过return语句返回,下面关于return语句的形式描述错误的是
随机试题
求z=xy在约束条件2x+y=1下的极值.
烧伤后第二个24h补胶体、晶体总量为()
患者,男,35岁。有胃痛病史,昨天因过食辛辣之品而诱发呕血,血色紫暗,夹有食物残渣,口臭,口干,大便色黑,舌红,苔黄腻,脉滑数。中医方剂应选用
以下哪些是Hansch分析中使用的参数
卫星:飞船:航天()
个案工作的评估,是对()进行的评估。
给出完全平方公式(a+b)2=a2+2ab+b2的一种几何解释,并说明几何解释对学生数学学习的作用。
SQL语句不能创建的是
TheInternetraisesmajorissuesandchallengesforeducation,notjustinChinabutailovertheworld.Yetitsimplycannotbe
AjuryhasfoundformerFrenchofficialMauriceMapontguiltyofcrimesagainsthumanityfor______.
最新回复
(
0
)