首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
使用VC++2010打开考生文件夹下pmg1中的解决方案。此解决方案的项目中包含一个源程序文件prog1.c。在此程序中,请编写函数fun(),该函数的功能是判断字符串是否为回文,若是,则函数返回1,在主函数中输出"YES",否则返回0,在主函数中输出"N
使用VC++2010打开考生文件夹下pmg1中的解决方案。此解决方案的项目中包含一个源程序文件prog1.c。在此程序中,请编写函数fun(),该函数的功能是判断字符串是否为回文,若是,则函数返回1,在主函数中输出"YES",否则返回0,在主函数中输出"N
admin
2023-02-27
5
问题
使用VC++2010打开考生文件夹下pmg1中的解决方案。此解决方案的项目中包含一个源程序文件prog1.c。在此程序中,请编写函数fun(),该函数的功能是判断字符串是否为回文,若是,则函数返回1,在主函数中输出"YES",否则返回0,在主函数中输出"NO"。回文字符串是指顺读和倒读都一样的字符串。
例如,字符串LEVEL是回文,而字符串123312就不是回文。
注意:部分源程序在文件prog1.c中。
请勿改动主函数main()和其他函数中的任何内容,仅在函数fun()的花括号中填入你编写的若干语句。
试题程序:
1 #include<stdio.h>
2 #define N 80
3 int fun(char*str)
4 {
5
6 }
7 main()
8 {
9 char s[N];
10 FILE*out;
11 char*test[]={"1234321","123421","123321","abcdCBA");
12 int i;
13 printf("Enter a string:");
14 gets(s);
15 printf("\n\n");
16 puts(s);
17 if(fun(s))
18 printf("YES\n");
19 else
20 printf("NO\n");
21 /*********found*********/
22 out=fopen{"out.dat","w");
23 for(i=0;i<4;i++)
24 if(fun(test
))
25 fprintf(out,"YES\n");
26 else
27 fprintf(out,"NO\n");
28 fclose(out);
29 /*********found*********/
30 }
选项
答案
1 int fun(char*str) 2 { 3 int i,n=0,fg=1; 4 char*p=str; 5 while(*p)/*将指针p指向字符串末尾,并统计字符数*/ 6 { 7 n++; 8 p++; 9 } 10 for(i=0;i<n/2;i++)/*循环比较字符*/ 11 if(str[i]=8tr[n-1-i]);/*若相同,则什么都不做*/ 12 else/*若不同,则直接跳出循环*/ 13 { 14 fg=0; 15 break; 16 } 17 return fg; 18 }
解析
判断回文就是将字符串的第1个字符与最后一个字符比较,第2个字符与倒数第2个字符进行比较,依此类推,直到中间的字符。如果比较的结果都相同,那么这个字符串就是回文,否则不是。while循环用来统计字符串中的字符个数;for循环语句用来遍历字符串;条件语句用来判断当前字符与对应位置的字符是否相同。若不相同,则退出循环,变量fg赋值为0。
转载请注明原文地址:https://jikaoti.com/ti/ABoiFFFM
本试题收录于:
二级C语言题库NCRE全国计算机二级分类
0
二级C语言
NCRE全国计算机二级
相关试题推荐
用1、2、3、4、5、6、7、8组成没有重复数字的八位数,要求1和2相邻,3与4相邻,5与6相邻,而7与8不相邻,这样的八位数共有()。
如图,5个圆的圆心在同一条直线上,且互相相切,若大圆直径是12,4个小圆大小相等,则这5个圆的周长和为
某校规定学生的学期体育成绩由三部分组成:体育课外活动占10%,理论测试占30%,体育技能测试占60%,一名同学的上述成绩依次为90,92,73,则该同学这学期的体育成绩为()。
某人5天上班途中所花的时间(单位:min)分别为x,y,10,11,9,已知这组数据的平均数为10,方羞为2,则|x-y|的值为()。
在一个400米的椭圆形跑道上,甲、乙两人从A点同时同向出发,在相同时间内,甲跑了10米,乙跑了8米,当甲第二次恰好从A点追上乙时,乙跑了()圈。
某商店将某种品牌的电脑,按进价提高35%进行定价,然后打出“几折酬宾,外送50元车费”的广告,结果每台电脑获利208元,那么每台电脑的进价是()元。
函数f(x)=x2+bx+c对于任意实数t都有f(2+t)=f(2-t),则()。
数列1,3,7,15,…的通项公式an=()。
最能体现太平天国社会理想和这次农民起义特色的纲领性文件是()。
随机试题
直流电机电刷与换向器接触不良如何检查?
按照《商标法》规定,对于商标中含有商品的地理标志而该商品并非来源于该标志所标示的地区、容易误导公众的()
患者,男,16岁。10天前右肘内侧刀刺伤,经清创缝合,创口愈合,但右手小指手指感觉消失。此病变为以下哪一项
一般而言,不良反应最小的抗菌药物作用部位为
牙源性钙化上皮瘤牙源性腺样瘤
正常婴儿每日每公斤体重所需热量、水分应为:热量KF(kcak)水(m1)
如果食物供应以玉米、面粉为主,在配餐中添加()可以提高食物的蛋白质生物价。
把带有水分的钢片,放在酒精灯上烤一烤后拿开,钢片上会有一层蓝色的光,这是因为()。
“教育主体确定,教育对象相对稳定,有相对稳定的活动场所和设施等教育实体出现,教育初步定型。”这些特征的出现标志着学校教育制度进入()
A、 B、 C、 D、 B原数列可转化为:。分母分别为22-1,32+1,42-1,52+1,由此可知下一项分母为62-1=35;分子两两做差后得到13,15,17为等差数列,则下一项分子为45+19=64。
最新回复
(
0
)