首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
请编写函数fun(),它的功能是:判断字符串是否是回文?若是,函数返回1,主函数中输出:YES,否则返回0,主函数输出NO。回文是指顺读和倒读都一样的字符串。 例如,字符串LEVEL是回文,而字符串12312就不是回文。 [注意] 部分源程序给
请编写函数fun(),它的功能是:判断字符串是否是回文?若是,函数返回1,主函数中输出:YES,否则返回0,主函数输出NO。回文是指顺读和倒读都一样的字符串。 例如,字符串LEVEL是回文,而字符串12312就不是回文。 [注意] 部分源程序给
admin
2013-06-12
76
问题
请编写函数fun(),它的功能是:判断字符串是否是回文?若是,函数返回1,主函数中输出:YES,否则返回0,主函数输出NO。回文是指顺读和倒读都一样的字符串。
例如,字符串LEVEL是回文,而字符串12312就不是回文。
[注意] 部分源程序给出如下。
请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入所编写的若干语句。
[试题源程序]
#include<stdio.h>
#define N 80
int fun(char *str)
{
}
main()
{
char s[N];
printf("Enter a string:")" gets(s);
printf("\n\n"); puts(s);
if(fun(s))
printf(" YES\n");
else
printf(" NO\n");
NONO();
}
NONO()
{
/*请在此函数内打开文件,输入测试数据,调用fun函数,输出数据,关闭文件。*/
FILE *rf, *wf;
int i ; char s[N];
rf=fopen("K:\\k06\\24010001\\in.dat", "r");
wf=fopen("K:\\k06\\24010001\\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 fun(char *str) { int i, n=0, fg=1; char *p=str; while(*p) { n++; P++; } for(i=0; i<n/2; i++) if(str[i]==str[n-1-i]); else { fg=0; break; } return fg; }
解析
本题的设计思路是:(1)定义一个int型变量flag用做返回值,定义一个字符指针代替原串遍历,求字符串的长度;(2)利用循环及if条件语句判断字符串首尾对应字符是否相等;(3)如果为回文数,修改flag的值;(4)返回flag
转载请注明原文地址:https://kaotiyun.com/show/trJp777K
本试题收录于:
二级C语言题库NCRE全国计算机二级分类
0
二级C语言
NCRE全国计算机二级
相关试题推荐
若以下程序所生成的可执行文件名为filel.exe,当执行该程序时输入FILE1 CHINA BEIJING SHANGHAI,程序的输出结果是______。 main (int argc,char* argv[]) { while(--argc>0){
数据库设计分为以下6个设计阶段:需求分析阶段、______、逻辑设计阶段、物理设计阶段、实施阶段、运行和维护阶段。
关系模型的完整性规则是对关系的某种约束条件,包括实体完整性、______和自定义完整性。
有以下程序 main() { int num[4][4]={{1,2,3,4},{5,6,7,8},{9,10,11,12},{13,14,15,16}},i,j; for(i=0;i<4;i++) { for(j=0; j<=i;j++) printf(
以下正确的数组定义语句是______。
给定程序MODI1.C中函数fun的功能是:求出字符串中最后一次出现的子符串的地址,通过函数值返回,在主函数中输入从此地址开始的字符串;若未找到,则函数值为MULL。例如,当字符串中的内容为:"abcdabfcdx",t中的内容为:"ab"时,输出结果应
给定程序MODI1.C中函数fun的功能是:求出以下分数序列的前n项之和。和值通过函数值返回main函数。例如,n=10,则输出16.479905。/************found************/fun(intn)
下列程序的输出结果是______。 #include<stdio.h> main() { double d=3.2;int x,y; x=1.2;y=(x+3.8)/5.0; printf("%d\n",d*y); }
读取二进制文件的函数调用形式为:fread(buffer,size,count,fp);,其中buffer代表的是
随机试题
行台尚书省
患者,男,46岁。诊断慢性粒细胞性白血病3年。通常情况下,此型此年龄段白血病患者最突出的体征是
关于酶竞争性抑制剂的叙述错误的是
()是基础货币的供给主体。
下列说法中不正确的是()。
一、注意事项1.申论考试是对应考者阅读理解能力、综合分析能力、提出和解决问题能力、文字表达能力的测试。2.仔细阅读给定资料,按照后面提出的“申论要求”依次作答。二、给定资料2000年,我国北方地区连续出现沙尘暴、扬沙和浮尘天气,滚
“元枯更化”发生在哪位皇帝在位时期?()
下列不属于《北京条约》增加条款的是()。
再贴现政策
YourPasswordorYourPrivacyA)MatthewBreuerhassharedthepasswordstohiscomputer,e-mailandsocialmediaaccountsw
最新回复
(
0
)