首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
使用VC++2010打开考生文件夹下pmg1中的解决方案。此解决方案的项目中包含一个源程序文件prog1.c。在此程序中,请编写函数fun(),该函数的功能是判断字符串是否为回文,若是,则函数返回1,在主函数中输出"YES",否则返回0,在主函数中输出"N
使用VC++2010打开考生文件夹下pmg1中的解决方案。此解决方案的项目中包含一个源程序文件prog1.c。在此程序中,请编写函数fun(),该函数的功能是判断字符串是否为回文,若是,则函数返回1,在主函数中输出"YES",否则返回0,在主函数中输出"N
admin
2023-02-27
10
问题
使用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://kaotiyun.com/show/8P0D777K
本试题收录于:
二级C语言题库NCRE全国计算机二级分类
0
二级C语言
NCRE全国计算机二级
相关试题推荐
20以内的质数中,两个质数之和还是质数的共有()种。
某小组有4名男同学和3名女同学,从这小组中选出4人完成三项不同的工作,其中女同学至少选2名,每项工作要有人去做,那么不同的选派方法有()。
三个负数a,b,c成等差数列,又a,d,c成等比数列,且a≠c,则b与d的大小关系为()。
设无穷等比数列所有奇数项之和为15,所有偶数项之和为-3,a1为首项,则a1=()。
在公比为整数的等比数列{an}中,如果a1+a4=18,a2+a3=12,则这个数列的前8项和S8=()。
从-1,0,1,2这四个数中选三个不同的数作为函数f(x)=ax+bx+c的系数,可组成不同的二次函数共有()个,其中不同的偶函数共有()个。
|x-2|-|x-5|的最大值和最小值分别为()。
习近平总书记强调:“尽管我们所处的时代同马克思所处的时代相比发生了巨大而深刻的变化,但从世界社会主义500年的大视野来看,我们依然处在马克思主义所指明的历史时代。这是我们对马克思主义保持坚定信心、对社会主义保持必胜信念的科学根据。”下列关于社会主义必然胜利
随机试题
关于局部神经元回路,不正确的论述是
对伪造国库券的,依法_______刑事责任。()
Ifhe______thejob,hewillgetmoremoneyrightaway.
望神的重点是观察
A.血浆胰岛素测定B.葡萄糖耐量试验C.糖化血红蛋白D.尿糖E.空腹血糖鉴别1型和2型糖尿病的主要指标是
主治膏淋的方剂是
下列哪种情形不属于教唆犯?()
甲住在A市,驾车出游过程中,在C市撞倒了住所地在B市的乙,乙伤势严重,被送到离出事地点最近的D市医院。后乙因救治无效而在D市医院死亡。请问:乙的妻子以甲为被告向法院起诉,下列法院中没有管辖权的是:()
今天的新疆地区是在下列哪个朝代中正式归属中央的?()
窗体上有1个名称为Command1的命令按钮,事件过程如下:PrivateSubCommand1_Click() DimnumAsInteger,xAsInteger num=Val(InputBox("请输入一个正整数"))
最新回复
(
0
)