ImageVerifierCode 换一换
格式:DOC , 页数:17 ,大小:119.51KB ,
资源ID:4298652      下载积分:8 金币
快捷注册下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

开通VIP
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.zixin.com.cn/docdown/4298652.html】到电脑端继续下载(重复下载【60天内】不扣币)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

开通VIP折扣优惠下载文档

            查看会员权益                  [ 下载后找不到文档?]

填表反馈(24小时):  下载求助     关注领币    退款申请

开具发票请登录PC端进行申请

   平台协调中心        【在线客服】        免费申请共赢上传

权利声明

1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前可先查看【教您几个在下载文档中可以更好的避免被坑】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时联系平台进行协调解决,联系【微信客服】、【QQ客服】,若有其他问题请点击或扫码反馈【服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【版权申诉】”,意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:0574-28810668;投诉电话:18658249818。

注意事项

本文(C语言上机题库百科园第6章2南信大.doc)为本站上传会员【天****】主动上传,咨信网仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知咨信网(发送邮件至1219186828@qq.com、拔打电话4009-655-100或【 微信客服】、【 QQ客服】),核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载【60天内】不扣币。 服务填表

C语言上机题库百科园第6章2南信大.doc

1、程序设计 /*请编写函数fun,该函数的功能是:判断字符串是否为回文,若是则函数返回1,主函数中输出"YES",否则返回0,主函数中输出"NO"。回文是指顺读和倒读都一样的字符串。例如,字符串LEVEL是回文,而字符串123312就不是回文。 试题程序:*/ #include #define N 80 int fun(char str[]) { /***************Begin************/ /*************** End ************/ } void main() { char s[N

2、]; FILE *out; char test[][80]={"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("debug\\out12.

3、dat","w"); for(i=0;i<4;i++) if(fun(test[i])) fprintf(out,"YES\n"); else fprintf(out,"NO\n"); fclose(out); /************************************/ } 【参考代码】 int fun(char str[]) { int i,n=0,fg=1,j=0; while (str[j]) { n++; j++; }

4、 for(i=0;i

5、一行的开始没有空格。 试题程序:*/ #include #include #define N 80 int fun(char *s) { /************Begin*************/ /*************End*************/ } void main() { FILE *wf; char line[N]; int num=0; printf("Enter a string:\n "); gets(line); num=fun(line); p

6、rintf("The number of word is:%d\n\n ",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;s[i]!='\0';i++) if(s[i]!=' '&&(s[i+1]==' '||s[i+

7、1]== '\0')) /*如果一个字母的下一个字符为空格或者结束标记,则表示一个单词结束*/ j++; return j;/*返回单词个数*/ /*假定输入的字符串中只包含字母和*号。请编写函数fun,它的功能是:除了字符串前导的*号之外,将串中其他*号全部删除。 在编写函数时,不得使用C语言提供的字符串函数。 例如,若字符串中的内容为****A*BC*DEF*G*******,删除后,字符串中的内容则应当是****ABCDEFG。 试题程序: */ #include #include

8、 void fun (char *a) { /************Begin*************/ /************End**************/ } void main() { char s[81]; FILE *in,*out; int i; printf("Enter a string :\n"); gets(s); fun(s); printf("The string after deleted:\n"); puts(s); /******************************/

9、 in=fopen("in21.dat","r"); out=fopen("debug\\out21.dat","w"); for(i=0;i<8;i++) { fscanf(in,"%s",s); fun(s); fprintf(out,"%s\n",s); } fclose(in); fclose(out); /******************************/ } 【参考代码】 int i=0; char *p=a; while(*p&&*p=='*')

10、 { a[i]=*p;i++;p++; } while(*p) { if(*p!='*') { a[i]=*p;i++; } p++; } a[i]='\0'; /*假定输入的字符串中只包含字母和*号。请编写函数fun,它的功能是:将字符串中的前导*号全部删除,中间和后面的*号不删除。 例如,若字符串中的内容为****A*BC*DEF*G*******,删除后,字符串中的内容则应当是A*BC*DEF*G**

11、 注意:部分源程序给出如下。 请勿改动main函数和其他函数中的任何内容,仅在函数fun的花括号中填入所编写的若干语句。 试题程序: */ #include void fun (char *a) { /************Begin**************/ /************End*************/ } void main() { FILE *wf,*in; int i; char s[81],t[81]="****A*BC*DEF*G*******"; printf("Enter

12、 a string :\n"); gets(s); fun(s); printf("The string after deleted:\n");puts(s); /******************************/ in=fopen("in18.dat","r"); wf=fopen("debug\\out18.dat","w"); for(i=0;i<8;i++) { fscanf(in,"%s",t); fun(t); fprintf(wf,"%s\n",t); } fclose(in);

13、 fclose(wf); /*****************************/ } 【参考代码】 char *p=a; while(*p=='*') p++; /*指针p指向字符串第一个字母*/ for(;*p!='\0';p++,a++) *a=*p; *a='\0'; /*请编一个函数fun(char *s),该函数的功能是把字符串中的内容逆置。 例如,字符串中原有的字符串为abcdefg,则调用该函数后,串中的内容为gfedcba。 注意:部分源程序给出如下。 请勿改

14、动main函数和其他函数中的任何内容,仅在函数fun的花括号中填入所编写的若干语句。 试题程序:*/ #include #include #define N 81 void fun(char*s) { /************Begin*************/ /************End**************/ } void main() { char a[N]; FILE *out; printf("Enter a string:"); gets(a); printf("T

15、he original string is:"); puts(a); fun(a); printf("\n"); printf("The string after modified:"); puts(a); strcpy(a,"Hello World! This is a first C program!"); fun(a); /******************************/ out=fopen("d:\\out17.dat","w"); fprintf(out,"%s",a); fclose(out);

16、 /******************************/ } 【参考代码】 char ch; int i,m,n; i=0; m=n=strlen(s)-1; while(i<(n+1)/2) { ch=s[i]; s[i]=s[m]; s[m]=ch; i++; m--; } /*请编写函数fun,其功能是:将两个两位数的正整数a、b合并形成一个整数放在c中。 合并的方式是:将a数的十位和个

17、位依次放在c数的千位和十位上,b数的十位和个位依次放在c数的百位和个位上。 例如,当a=45,b=12,调用该项函数后,c=4152。 注意:部分源程序给出如下。 请勿改动main函数和其他函数中的任何内容,仅在函数fun的花括号中填入所编写的若干语句。 试题程序: */ #include #include void fun(int a ,int b,long *c) { /************Begin************/ /************End***************/ } v

18、oid 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 :%ld\n",c); /******************************/ out=fopen("debug\\out20.dat","w"); for(a=10;a<20;a++) { fun(a,109-a,&c); fprintf(out,"%d\n",c

19、); } fclose(out); /******************************/ } 【参考代码】 *c=(a/10)*1000+(b/10)*100+(a%10)*10+b%10; 程序改错 /*下列给定程序中函数fun的功能是:先将在字符串s中的字符按逆序存放到t串中,然后把s中的字符按正序连接到t串的后面。 例如,当s中的字符串为ABCDE时,则t中的字符串应为EDCBAABCDE。 请改正程序中的错误,使它能得出正确的结果。 注意:不要改动main函数,不得增行或删行,也不得更改程序的结构。 试题程序: */ #include

20、 #include #include void fun (char *s, char *t ) { int i,s1; s1=strlen(s); for (i=0;i

21、) {char s[100], t[100]; printf("\nPlease enter string s: "); scanf("%s",s); fun(s,t); printf ("The result is: %s\n",t); } 【参考答案】 t[i]=s[s1-1-i]; t[i]=s[s1-i-1i]; 【参考答案】 t[2*s1]='\0'; t[2*s1]=0; /*下列给定程序中,函数fun的功能是:在字符串str中找出ASCII码值最大的字符,将其放在第一个位置上, 并将该字符前的原字符向后顺序移动。例如,调用fun函

22、数之前给字符串输入ABCDeFGH,调用后字符串中的内容为eABCDFGH。 请改正程序中的错误,使它能得出正确的结果。 注意:不要改动main函数,不得增行或删行,也不得更改程序的结构。 试题程序: */ #include /**********ERROR**********/ fun(char *p) { char max, *q;int i=0; max=p[i]; while (p[i]!=0) {if (max

23、 p = q +i;max=p[i]; } i++; } /**********ERROR**********/ while(q

24、 printf("\nThe string after moving: "); puts(str); printf("\n\n"); } 【参考答案】 void fun(char *p) 【参考答案】 q=p+i; q=i+p; 【参考答案】 while(q>p) while(p

25、lude #include #include #include #define N 80 int fun(char *s,char *t) { int n; char *p, *r; n=0; p=&s[0]; /**********ERROR**********/ *r=t; while(*p) { if(*r==*p) { r++; if(*r=='\0') { n++; /**********ERROR***

26、/ 【1】; } } p++; } return n; } void main() {char a[N],b[N]; int m; system("CLS"); printf("\nPlease enter string a: "); gets(a); printf("\nPlease enter substring b: "); gets(b); m=fun(a,b); m=printf("\nThe result is :m=%d\n",m); } 【参考答案】 r=t; 【参考答案】 r=t;

27、r=&t[0]; /*下列给定程序中,函数fun的功能是:从n个学生的成绩中统计出低于平均分的学生人数,此人数由函数值返回, 平均分存放在形参aver所指的存储单元中。例如输入8名学生的成绩: 80.5 60 72 90.5 98 51.5 88 64 则低于平均分的学生人数为4(平均分为75.5625)。 请改正程序中的错误,使它能得出正确的结果。 注意:不要改动main函数,不得增行或删行,也不得更改程序的结构。 试题程序: */ #include #include #define N 20 int fun(fl

28、oat *s, int n,float *aver) { float ave ,t=0.0; int count=0,k,i; for(k=0;k

29、i; printf("\nPlease enter m: "); scanf("%d",&m); printf("\nPlease enter %d mark :\n",m); for(i=0;i

30、个整数的交换。例如,给a和b分别输入60和65,输出为:a=65 b=60 请改正程序中的错误,使它能得出正确的结果。 注意:不要改动main函数,不得增行或删行,也不得更改程序的结构。 试题程序:*/ #include #include /**********ERROR**********/ void fun(int a,b) { int t; /**********ERROR**********/ t=b;b=a;a=t; } void main() {int a,b; printf("Enter a, b:

31、"); scanf("%d%d",&a,&b); fun(&a, &b); printf("a=%d b=%d\n ", a,b); } 【参考答案】 void fun(int *a,int *b) 【参考答案】 t=*b;*b=*a;*a=t; t=*b,*b=*a,*a=t; t=*a;*a=*b;*b=t; t=*a,*a=*b,*b=t; /*给定程序中函数fun的功能是:把主函数中输入的3个数,最大的放在 a中,最小的放在c中,中间的放在b中。 例如,输入的数为:55 12 34, 输出结果应当是:a=55.0 , b=34.0 , c

32、12.0。 请改正程序中的错误,使它能得出正确结果。 给定源程序:*/ #include void fun(float *a,float *b,float *c) { /**********ERROR**********/ float *k; if( *a<*b ) { k=*a; *a=*b; *b=k; } /**********ERROR**********/ if( *a>*c ) { k=*c; *c=*a; *a=k; } if( *b<*c ) { k=*b; *b=*c; *c=k; }

33、 } int main() { float a,b,c; printf("Input a b c: "); scanf("%f%f%f",&a,&b,&c); printf("a = %4.1f, b = %4.1f, c = %4.1f\n\n",a,b,c); fun(&a,&b,&c); printf("a = %4.1f, b = %4.1f, c = %4.1f\n\n",a,b,c); return 0; } 【参考答案】 float k; 【参考答案】 *a<*c *c>*a /*给定程序中函数fun的功能是:把主函数中输入的3个数,

34、最大的放在 a中,最小的放在c中,中间的放在b中。 例如,输入的数为:55 12 34, 输出结果应当是:a=55.0 , b=34.0 , c=12.0。 请改正程序中的错误,使它能得出正确结果。 给定源程序:*/ #include void fun(float *a,float *b,float *c) { /**********ERROR**********/ float *k; if( *a<*b ) { k=*a; *a=*b; *b=k; } /**********ERROR**********/ if(

35、 *a>*c ) { k=*c; *c=*a; *a=k; } if( *b<*c ) { k=*b; *b=*c; *c=k; } } int main() { float a,b,c; printf("Input a b c: "); scanf("%f%f%f",&a,&b,&c); printf("a = %4.1f, b = %4.1f, c = %4.1f\n\n",a,b,c); fun(&a,&b,&c); printf("a = %4.1f, b = %4.1f, c = %4.1f\n\n",a,b,c); return 0

36、 } 【参考答案】 p=j; 【参考答案】 p=i; 程序填空 /*给定程序中,函数fun的功能是:在形参s所指字符串中的每个数字字符之后插入一个*号。 例如,形参s所指的字符串为:def35adh3kjsdf7。执行结果为:def3*5*adh3*kjsdf7*。 注意:部分源程序给出如下。 请勿改动main函数和其他函数中的任何内容,仅在函数fun的横线上填入所编写的若干表达式或语句。 试题程序:*/ #include void fun(char *s ) { int i,j,n; for(i=0;s[i]!='\0';i

37、) /**********FILL**********/ if(s[i]>='0' [1] s[i]<='9') { n=0; /**********FILL**********/ while(s[i+1+n]!= [2] ) n++; for(j=i+n+1;j>i;j--) /**********FILL**********/ s[j+1]= [3] ; s[j+1]='*'; i=i+1; } } void main() { char s[60]="ba3a54cd23a"; pri

38、ntf("\n the original string is: %s\n",s); fun(s); printf("\nthe result is: %s\n",s); } 【参考答案】 && 【参考答案】 0 '\0' 【参考答案】 s[j] *(s+j) 请勿改动main函数和其他函数中的任何内容,仅在main函数的横线上填入所编写的若干表达式或语句。 试题程序:*/ #include #include void main() { char str1[81],str2[81]; char *p

39、1=str1,*p2=str2; do { printf(" Input str1 \n"); gets(str1); printf(" Input str2 \n"); gets(str2); /**********FILL**********/ }while( 【1】 ); /**********FILL**********/ while( 【2】 ) *p1++=*p2++; printf(" Display str1 \n"); /**********FILL**********/ puts(

40、3】 ); } 【参考答案】 strlen(str1)strlen(str1) 【参考答案】 *p2 *p2!=0 【参考答案】 str1 /*给定程序的功能是:分别统计字符串中大写字母和小写字母的个数。 例如,给字符串ss输入:AaaaBBbl23CCccccd,则输出结果应为:upper=5,lower=9。 注意:部分源程序给出如下。 请勿改动函数中的其他内容,仅在横线上填入所编写的若干表达式或语句。 试题程序: */ #include #include

41、> void fun(char *s,int *a,int *b) { while(*s) { if(*s>='A' && *s<='Z') /**********FILL**********/ [1] ; if(*s>='a' && *s<='z') /**********FILL**********/ 【2】 ; s++; } } void main() { char s[100]; int upper=0,lower=0; printf("\nPlease a string: ");

42、 gets(s); fun(s,&upper,&lower); /**********FILL**********/ printf("\n upper=%d lower=%d\n",【3】 ); } 【参考答案】 (*a)++ ++(*a) *a+=1 *a=*a+1 【参考答案】 (*b)++ ++(*b) *b+=1 *b=*b+1 【参考答案】 upper,lower /*请补充main函数,该函数的功能是:从键盘输入若干字符放到一个字符数组中,当按回车键时结束输入, 最后输出这个字符数组中的所有字符。 注意:部分源程序给

43、出如下。 请勿改动main函数和其他函数中的任何内容,仅在main函数的横线上填入所编写的若干表达式或语句。 试题程序:*/ #include #include void main() { int i=0; char s[81]; char *p=s; printf(" Input a string \n"); for(i=0;i<80;i++) { s[i]=getchar(); if(s[i]=='\n') /**********FILL**********/ 【1】 ;

44、 } /**********FILL**********/ s[i]= 【2】 ; printf(" display the string \n"); while(*p) /**********FILL**********/ putchar( 【3】 ); } 【参考答案】 Break 【参考答案】 0 '\0' 【参考答案】 *p++ /*下面程序是实现两数的交换,如输入5 9,输出9 5。*/ #include void swap(int *p1, int *p2); int main() {

45、 int a,b; int *point1,*point2; /**********FILL**********/ scanf("%d %d", [1] ); point1=&a; point2=&b; /**********FILL**********/ swap( [2] ); printf("\n%d,%d\n",a,b); return 0 ; } void swap(int *p1, int *p2) { int p; p=*p1; /**********FILL**********/ [3] ; *p2=p; } 【参考答案】 &a,&b 【参考答案】 point1,point2 &a,&b 【参考答案】 *p1=*p2

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2026 宁波自信网络信息技术有限公司  版权所有

客服电话:0574-28810668  投诉电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服