C语言上机题库百科园第6章2南信大.doc
《C语言上机题库百科园第6章2南信大.doc》由会员分享,可在线阅读,更多相关《C语言上机题库百科园第6章2南信大.doc(17页珍藏版)》请在咨信网上搜索。
1、程序设计/*请编写函数fun,该函数的功能是:判断字符串是否为回文,若是则函数返回1,主函数中输出YES,否则返回0,主函数中输出NO。回文是指顺读和倒读都一样的字符串。例如,字符串LEVEL是回文,而字符串123312就不是回文。试题程序:*/#include #define N 80int fun(char str) /*Begin*/ /* End */void main() char sN; FILE *out; char test80=1234321,123421,123321,abcdCBA; int i; printf(Enter a string : ); gets(s); p
2、rintf(nn); puts(s); if(fun(s)printf(YESn); elseprintf(NOn); /*/ out=fopen(debugout12.dat,w); for(i=0;i4;i+) if(fun(testi)fprintf(out,YESn);elsefprintf(out,NOn); fclose(out); /*/【参考代码】int fun(char str) int i,n=0,fg=1,j=0; while (strj) n+; j+; for(i=0;in/2;i+) /*循环比较字符*/ if(stri=strn-1-i); /*相同,什么都不作*
3、/ else /*不同,直接跳出循环*/ fg=0; break; return fg; /*请编写函数fun,该函数的功能是:统计一行字符串中单词的个数,作为函数值返回。一行字符串在主函数中输入,规定所有单词由小写字母组成,单词之间有若干个空格隔开,一行的开始没有空格。 试题程序:*/#include#include#define N 80int fun(char *s) /*Begin*/*End*/void main() FILE *wf; char lineN; int num=0; printf(Enter a string:n ); gets(line); num=fun(line
4、); printf(The number of word is:%dnn ,num);/*/ wf=fopen(d:out19.dat,w); fprintf(wf,%d,fun(This is a big car); fclose(wf);/*/【参考代码】 int i,j=0; for(i=0;si!=0;i+) if(si!= &(si+1= |si+1= 0)/*如果一个字母的下一个字符为空格或者结束标记,则表示一个单词结束*/ j+; return j;/*返回单词个数*/ /*假定输入的字符串中只包含字母和*号。请编写函数fun,它的功能是:除了字符串前导的*号之外,将串中其他*号
5、全部删除。在编写函数时,不得使用C语言提供的字符串函数。 例如,若字符串中的内容为*A*BC*DEF*G*,删除后,字符串中的内容则应当是*ABCDEFG。 试题程序: */#include #include void fun (char *a)/*Begin*/*End*/void main() char s81; FILE *in,*out; int i; printf(Enter a string :n); gets(s); fun(s); printf(The string after deleted:n); puts(s); /*/ in=fopen(in21.dat,r); out
6、=fopen(debugout21.dat,w); for(i=0;i8;i+) fscanf(in,%s,s); fun(s); fprintf(out,%sn,s); fclose(in); fclose(out); /*/【参考代码】 int i=0; char *p=a; while(*p&*p=*) ai=*p;i+;p+; while(*p) if(*p!=*) ai=*p;i+; p+; ai=0;/*假定输入的字符串中只包含字母和*号。请编写函数fun,它的功能是:将字符串中的前导*号全部删除,中间和后面的*号不删除。例如,若字符串中的内容为*A*BC*DEF*G*,删除后,字
7、符串中的内容则应当是A*BC*DEF*G*。注意:部分源程序给出如下。 请勿改动main函数和其他函数中的任何内容,仅在函数fun的花括号中填入所编写的若干语句。 试题程序: */#include void fun (char *a)/*Begin*/*End*/void main() FILE *wf,*in; int i; char s81,t81=*A*BC*DEF*G*; printf(Enter a string :n); gets(s); fun(s); printf(The string after deleted:n);puts(s);/*/ in=fopen(in18.dat
8、,r); wf=fopen(debugout18.dat,w); for(i=0;i8;i+) fscanf(in,%s,t); fun(t); fprintf(wf,%sn,t); fclose(in); fclose(wf);/*/【参考代码】 char *p=a; while(*p=*) p+; /*指针p指向字符串第一个字母*/ for(;*p!=0;p+,a+) *a=*p; *a=0; /*请编一个函数fun(char *s),该函数的功能是把字符串中的内容逆置。例如,字符串中原有的字符串为abcdefg,则调用该函数后,串中的内容为gfedcba。注意:部分源程序给出如下。请勿改
9、动main函数和其他函数中的任何内容,仅在函数fun的花括号中填入所编写的若干语句。试题程序:*/#include #include #define N 81void fun(char*s)/*Begin*/*End*/void main() char aN; FILE *out; printf(Enter a string:); gets(a); printf(The original string is:); puts(a); fun(a); printf(n); printf(The string after modified:); puts(a); strcpy(a,Hello Wor
10、ld! This is a first C program!); fun(a); /*/ out=fopen(d:out17.dat,w); fprintf(out,%s,a); fclose(out); /*/【参考代码】 char ch; int i,m,n; i=0; m=n=strlen(s)-1; while(i(n+1)/2) ch=si; si=sm; sm=ch; i+; m-; /*请编写函数fun,其功能是:将两个两位数的正整数a、b合并形成一个整数放在c中。合并的方式是:将a数的十位和个位依次放在c数的千位和十位上,b数的十位和个位依次放在c数的百位和个位上。例如,当a=
11、45,b=12,调用该项函数后,c=4152。 注意:部分源程序给出如下。 请勿改动main函数和其他函数中的任何内容,仅在函数fun的花括号中填入所编写的若干语句。试题程序: */#include #include void fun(int a ,int b,long *c) /*Begin*/ /*End*/void main() int a,b; long c; FILE *out; printf(Input a ,b: ); scanf(%d%d,&a,&b); fun(a,b,&c); printf(The result is :%ldn,c); /*/ out=fopen(debu
12、gout20.dat,w); for(a=10;a20;a+) fun(a,109-a,&c);fprintf(out,%dn,c); fclose(out);/*/【参考代码】*c=(a/10)*1000+(b/10)*100+(a%10)*10+b%10; 程序改错/*下列给定程序中函数fun的功能是:先将在字符串s中的字符按逆序存放到t串中,然后把s中的字符按正序连接到t串的后面。例如,当s中的字符串为ABCDE时,则t中的字符串应为EDCBAABCDE。请改正程序中的错误,使它能得出正确的结果。注意:不要改动main函数,不得增行或删行,也不得更改程序的结构。试题程序: */#incl
13、ude #include #include void fun (char *s, char *t ) int i,s1; s1=strlen(s); for (i=0;is1;i+)/*ERROR*/ ti=ss1-1; for (i=0;is1;i+) ts1+i=si;/*ERROR*/ t2*s1=0;void main()char s100, t100; printf(nPlease enter string s: ); scanf(%s,s); fun(s,t); printf (The result is: %sn,t);【参考答案】ti=ss1-1-i;ti=ss1-i-1i;【
14、参考答案】t2*s1=0;t2*s1=0;/*下列给定程序中,函数fun的功能是:在字符串str中找出ASCII码值最大的字符,将其放在第一个位置上,并将该字符前的原字符向后顺序移动。例如,调用fun函数之前给字符串输入ABCDeFGH,调用后字符串中的内容为eABCDFGH。请改正程序中的错误,使它能得出正确的结果。注意:不要改动main函数,不得增行或删行,也不得更改程序的结构。试题程序: */#include /*ERROR*/fun(char *p) char max, *q;int i=0; max=pi; while (pi!=0) if (maxpi) /*ERROR*/ p =
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言 上机 题库 百科 南信大
1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【天****】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时私信或留言给本站上传会员【天****】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。