首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
请编写函数fun,该函数的功能是:判断字符串是否为回文,若是,则函数返回1,主函数中输出"YES",否则返回0,主函数中输出"NO"。回文是指顺读和倒读都一样的字符串。 例如,字符串LEVEL是回文,而字符串123312就不是回文。 注意:部分源程序在文件
请编写函数fun,该函数的功能是:判断字符串是否为回文,若是,则函数返回1,主函数中输出"YES",否则返回0,主函数中输出"NO"。回文是指顺读和倒读都一样的字符串。 例如,字符串LEVEL是回文,而字符串123312就不是回文。 注意:部分源程序在文件
admin
2017-02-24
34
问题
请编写函数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://kaotiyun.com/show/4MDp777K
本试题收录于:
二级C语言题库NCRE全国计算机二级分类
0
二级C语言
NCRE全国计算机二级
相关试题推荐
C语言可执行程序的开始执行点是()。
以下程序中函数f的功能是在数组x的n个数(假定n个数互不相同)中找出最大最小数,将其中最小的数与第一个数对换,把最大的数与最后一个数对换。请填空。#include<stdio.h>voidf(intx[],intn){intp0,p1,i
有以下程序#include<stdio.h>main(){intc;while((c=getchar())!=’\n’){switch(c-’2’){case0:case1:pu
在执行下述程序时,若从键盘输入6和8,则结果为main(){inta,b,s;scanf("%d%d",&a,&b);S=aif(a<B)s=b;S*=S;printf("%d",s);}
以下叙述中错误的是
以下程序的功能是建立一个带有头结点的单向链表,链表结点中的数据通过键盘输入,当输入数据为-1时,表示输入结束(链表头结点的data域不放数据,表空的条件是ph->next==NULL),请填空。#includestructlist{intd
以下程序的输出结果是【】。#includemain(){inta[5]={2,4,6,8,10},*p;p=a;p++;printf("%d",*p);}
已有定义:charc=′′;inta=1,b;(此处c的初值为空格字符),执行b=!c&&a;后b的值为【】。
对下述程序的判断中,正确的是#includevoidmain(){char*p,s[128];p=s;while(strcmp(s,"End")){printf("Inputastring:");gets(s);w
若要求定义具有10个int型元素的一维数组a,则以下定义语句中错误的是
随机试题
保税货物
我们常常会说“管理是一门艺术”,这强调了()
男,56岁。反复发作性中上腹部疼痛20余年,已确诊为慢性胰腺炎。本次再发上腹部疼痛、恶心2天,行保守治疗后好转,但进食少许后血、尿淀粉酶又明显增高。B超提示慢性胰腺炎,胰腺假性囊肿(直径达10cm)。最佳的治疗方案是
针灸治疗失眠的原则是宁心安神、清心除烦,常选用神门、内关、百会、安眠治疗。()
某建筑深基坑工程采用排桩支护结构,桩径为1.0m,排桩间距为1.2m,当采用平面杆系结构弹性支点法计算时,单根支护桩上的土反力计算宽度为下列哪个数值?()
“备案号”栏:()。“征免性质”栏:()。
外币财务报表折算产生的折算差额,应在资产负债表“未分配利润”项目列示。()(2011年)
有一天。一群小青蛙们决定来场跑步比赛,比赛最终目标是到达一个很高的高塔。下面有很多青蛙在议论:高塔实在太高了,他们绝对办不到。青蛙们听到这些议论,一个接着一个放弃了,最后只剩一只耳聋的小青蛙没有放弃,越爬越高,最终到达了终点。请对此发表评论。
“开卷有益”的典故和宋太宗每天翻阅《册府元龟》有关。()
黄金周
最新回复
(
0
)