首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
请编写函数fun,函数的功能是:判断字符串是否为回文?若是,函数返回1,主函数中输出:YES;否则返回0,主函数中输出NO。回文是指顺读和倒读都一样的字符串。 例如,字符串LEVEL是回文,而字符串123312就不是回文。 注意:部分源程序
请编写函数fun,函数的功能是:判断字符串是否为回文?若是,函数返回1,主函数中输出:YES;否则返回0,主函数中输出NO。回文是指顺读和倒读都一样的字符串。 例如,字符串LEVEL是回文,而字符串123312就不是回文。 注意:部分源程序
admin
2015-06-08
21
问题
请编写函数fun,函数的功能是:判断字符串是否为回文?若是,函数返回1,主函数中输出:YES;否则返回0,主函数中输出NO。回文是指顺读和倒读都一样的字符串。
例如,字符串LEVEL是回文,而字符串123312就不是回文。
注意:部分源程序在文件PROGl.C中。
请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。
#include
#include
#defime N 80
int fun(char *str)
{
}
msin()
{ 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);
e2Se 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
解析
该程序功能是判断字符串是否为回文。其中,回文是指顺读和倒读都一样的字符串。解题过程首先利用while循环取得字符串的长度n,然后循环判断正序第i个字符和其对应的逆序字符n一1-i个是否相等,也就是判断是否是回文。
[解题思路]
进入fun函数,根据前面的分析:
主要思路是:
(1)首先用整型变量i表示所判断的字符串中前面对应元素的下标。i初值为0,n是字符串的长度,通过循环来求得n。
(2)然后,把下标为i的字符与下标为“n-1-i”的字符比较,如果相同,i加1,继续进行一对一的字符比较。不断重复此过程,直到i≥n/2为止。在此过程中,如果下标为i的字符与下标为“n-1-i”的字符不相同,则可以断定字符串不是吲文,立即退出函数。
(3)如果正常结束循环,就说明字符串符合回文条件。
转载请注明原文地址:https://jikaoti.com/ti/mUn0FFFM
本试题收录于:
二级C语言题库NCRE全国计算机二级分类
0
二级C语言
NCRE全国计算机二级
相关试题推荐
有如下程序段:#include<stdio.h>#defineMax(a,B)a>b?a:bmain(){inta=5,b=6,c=4,d;d=c+Max(a,B);printf("%d",D
有如下程序:#definen2#definemN+1#defineNUM2*m+1main(){inti;for(i=1;i<=NUM;i++)printf("%d\n",
下列函数定义中,会出现编译错误的是______。
设血型占2个字节,则unsignedint所能表示的数据范围是______。
下列选项中不能正确定义结构体的是_______。
若有以下说明和语句,请选出哪个是对c数组元素的正确引用_______。intc[4][5],(*cp)[5];cp=c;
请读程序片段(字符串内没有空格字符):printf("%d\n",strlen("ATS\n012\1\\"));上面程序片段的输出结果是_______。
请读程序:#include<stdio.h>func(inta,intb){intc;c=a+b;returnc;}main(){intx=
若x、y和z均是int型变量,则执行下面表达式后的x值为【】。x=(y=4)+(z=3)
若有说明inti,j=2,*p=&i;,则能完成i=j赋值功能的语句是______。
随机试题
急性肾静脉血栓形成的临床表现为
混杂因素可导致混杂偏倚,混杂因素的基本特点是
当事人提交给法院的以下材料中,不属于民事诉讼证据的有()。[2010年真题]
下列属于非流动资产的项目有()。
下列各项资产中,不应按公允价值进行初始计量的是()。
在考虑组成部分注册会计师的工作时,下列有关说法正确的是()。
孟子曾日:“天将降大任于斯人也,必先_______,_______,饿其体肤,空乏其身,行拂乱其所为,所以动心忍性,曾益其所不能”。
地名公共服务工程主要包括地名规范、地名标志、地名规划与数字地名四个专项事务。其中()的主要任务和要求是制定完善地名管理法规规章及相关技术标准等,理顺地名管理体制,健全工作机制。
根据《合同法》的有关规定,下列关于合同履行标准的判定,正确的是
【B1】【B10】
最新回复
(
0
)