首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
请编写函数fun,函数的功能是:判断字符串是否为回文?若是,函数返回1,主函数中输出:YES;否则返回0,主函数中输出NO。回文是指顺读和倒读都一样的字符串。 例如,字符串LEVEL是回文,而字符串123312就不是回文。 注意:部分源程序
请编写函数fun,函数的功能是:判断字符串是否为回文?若是,函数返回1,主函数中输出:YES;否则返回0,主函数中输出NO。回文是指顺读和倒读都一样的字符串。 例如,字符串LEVEL是回文,而字符串123312就不是回文。 注意:部分源程序
admin
2013-04-02
62
问题
请编写函数fun,函数的功能是:判断字符串是否为回文?若是,函数返回1,主函数中输出:YES;否则返回0,主函数中输出NO。回文是指顺读和倒读都一样的字符串。
例如,字符串LEVEL是回文,而字符串123312就不是回文。
注意:部分源程序在文件PROGl.C中。
请勿改动主函数min和其他函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。
#include
#include
#define N 80
int fun(char *str)
{
}
main()
{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/iDJp777K
本试题收录于:
二级C语言题库NCRE全国计算机二级分类
0
二级C语言
NCRE全国计算机二级
相关试题推荐
若有说明语句:double *p,a;则能通过scanf语句正确给输入项读入数据的程序段是______。
按“先进后出”原则组织数据的数据结构是[]。
若要求定义具有1O个int型元素的一维数组a,则以下定义语句中的错误的是______。
有以下程序 fun(int x,int y) { static int m=0,i=2; i+=m+1; m=i+x+y; return m; } main()
在嵌套使用if语句时,C语言规定else总是______。
以下选项中,不能正确赋值的是()
下面程序的输出结果是() main() { inta[10]={l,2,3,4,6,7,8,9,10},*p=a; printf("%d\n",*(p+2));}
在先左后右的原则下,根据访问根结点的次序,二叉树的遍历可以分为三种:前序遍历、【】遍历和后序遍历。
若有定义:inta[4][10];,则以下选项中对数组元素a[i][j]引用错误的是______。(0<=i<4,0<=j<10)
若x和y代表整型数,以下表达式中不能正确表示数学关系|x-y|<10的是()。
随机试题
国际物流网络系统中的各节点的目的是()
且夫我尝闻少仲尼之闻而轻伯夷之义者。轻:
男性,45岁,发现血糖增高来诊。经葡萄糖耐量试验诊断为2型糖尿病,为明确患者是否有糖尿病慢性并发症,首选
甲公司2009年的年度利润总额400万元。年度收入总额为1000万元,其中包括但不限于:销售货物的收入600万元;接受的财政拨款20万元;国债利息收入30万元;银行存款的利息收入50万元。2009年度甲公司共支出600万元,包括但不限于:公益性捐赠3
企业,企业在外地设立的分支机构和从事生产、经营的场所,个体工商户和从事生产、经营的事业单位,向生产、经营所在地税务机关申报办理税务登记。()
对于二手个人住房贷款,银行最主要的合作单位是()。
某物流公司2011年1月经营情况如下:(1)提供国内货物运输及装卸服务,取得运输收入35万元,装卸收入4万元,支付装卸工人工资1万元。(2)承揽国际货物运输业务,取得运输收入48万元,支付境外承运单位运费16万元。(3)运营业务中取得货物整理收入9万
莫扎特既不知道什么是暴力,也不知道什么叫做惶惑和______,他不像贝多芬那样,对于“为什么”这个永久的问题,在音乐中寻找答案;他不想_______人生的谜。填入画横线部分最恰当的一项是()。
A、Iamtheparent,andIamcomfortablebeingincharge.B、Pleasedon’tannoyme,orIwillpunishyou.C、Iamtheparent,andI
Hardlyhadhearrived______theyaskedhimtoleaveagain.
最新回复
(
0
)