四川省计算机二级(C语言)29次机试试题及其参考答案.doc_第1页
四川省计算机二级(C语言)29次机试试题及其参考答案.doc_第2页
四川省计算机二级(C语言)29次机试试题及其参考答案.doc_第3页
四川省计算机二级(C语言)29次机试试题及其参考答案.doc_第4页
四川省计算机二级(C语言)29次机试试题及其参考答案.doc_第5页
已阅读5页,还剩4页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

29-1套 参考答案:一、程序调试题(文件名为 test1-1.c)( 40 分 )# include # include # define M 5# define N 20void fun(char (*ss)N) int i,j,k=0,n,m,len; for(i=0;iM;i+) len=strlen(ssi); if(i=0) n=len; /* 改为:i=0 */ if(lenn */ n=len; k=i; for(i=0;i=0;j-) ssim-=ssij; for(j=0;jn+len;j+) /* 改为:n-len */ ssij=*; void main() char ssMN; int i; FILE *fp; fp=fopen(test1-1.in,r); if(fp=NULL) printf(File cannot open!n); exit(0); for(i=0;iM;i+) fscanf(%s,ssi); /* 改为:fp, %s,ssi */ printf(nThe original strings are:n); for(i=0;iM;i+) printf(%sn,ssi); printf(n); fun(ss); for(i=0;iM;i+) printf(%sn,ssi); fclose(fp);评分标准:每改对一处得8分二、编程题(程序文件取名为 test1-2.c)(60分)评分标准:1. main函数30分 2. fun函数30分1)字符串和字符输入正确10分 1)删除字符方法正确10分2)函数调用参数传递正确10分2)指针使用正确 10分3)输出结果正确 10分3)si=010分参考程序:# include # define N 100int fun(char s,int c) char *p=s; int i; while(*p) if(*p!=c) si+=*p; p+; si=0; main() char strN,ch; printf(nEnter string:); gets(str); printf(Entera char to be deleted:); scanf(%c,&ch); fun(str,ch); printf(Result=%sn,str);29-2套 参考答案:一、程序调试题(文件名为 test2-1.c)( 40 分 )# include # include float fun(float num) int s; float n,t,pi; t=1;pi=0;n=1;s=1; while ( t=num ) /* 改为:fabs(t)=num */ pi=pi+t; n=n+2; s=-s; t=s%n; /* 改为:s/n */ pi=pi*4; return; /* 改为:return pi */main() float n1,n2; FILE *fp; fp=fopen(test2-1.out,r);/* 改为:w */ if(fp=NULL) printf(nFile cannot open!n); exit(0); printf(Enter a float number:); scanf(%f,&n1); n2=fun();/* 改为:n2=fun(n1) */ printf(%6.4fn,n2); fprintf(fp,Result=%6.4fn,n2); fclose(fp);评分标准:每改对一处得8分二、编程题(程序文件取名为 test2-2.c)(60分)评分标准:1. fun函数编写40分2. main函数20分1)函数定义、形参书写正确 10分 1)能正确字义数组,并能对字符串进2)能正确将字符数组a复制到字符数组c10分 行正确的输入和输出10分3)能正确将字符数组b复制到字符数组c10分 2)能正确调用fun函数10分4)ck=010分参考程序:# include # include void fun(char *a,char *b,char *c) int i,j,k; for(i=0;ai!=0;i+) ci=ai; for(k=i,j=strlen(b)-1;j=0;k+,j-) ck=bj; ck=0;void main() char a50,b50,c100; printf(Input string a:); gets(a); printf(Input string b:); gets(b); fun(a,b,c); printf(string c:%sn,c);29-3套 参考答案:一、程序调试题(文件名为 test3-1.c)( 40 分 )# include void fun(int a,int n) int i,j=0,b20; for(i=0;i=0) bj=ai;/* 改为:j+ */ for(i=0;i0)/* 改为: */ bj+=ai; for(i=0;in;i+) ai=bi;void main() int a10,i; char filename20; FILE *fp; printf(Input filename:); scanf(%c,filename);/* 改为:%s */ if(fp=fopen(filename,r)=NULL) printf(Cannot open the file.n); exit(0); for(i=0;i10;i+) fscanf(fp,%d,ai);/* 改为:&ai */ fun(a,10); for(i=0;i10;i+) printf(%4d,a+i);/* 改为:ai */ fclose(fp);评分标准:每改对一处得8分二、编程题(程序文件取名为 test3-2.c)(60分)评分标准:1fun函数编写40分:1) 函数定义、形参书写正确 10分2) 能正确处理n大于s的长度的情况 10分3) 能正确处理n小于s的长度的情况 10分4) tj=0 10分2main函数20分:1) 能正确定义数组,并能正确进行输入输出 10分2) 能正确调用函数 10分参考程序:# include # include void fun(char *s,char *t,int n) int i,j,k; k=strlen(s); if(n=k) for(i=0;si!=0;i+) ti=si; ti=0; else for(i=k-n,j=0;si!=0;i+,j+) tj=si; tj=0; void main() char s80,t80; int i,n; printf(Input string:); gets(s); printf(Input n:); scanf(%d,&n); fun(s,t,n); printf(Result:); puts(t);29-4套 参考答案:一、程序调试题(文件名为 test4-1.c)( 40 分 )# include stdio.h# define N =3/* 改为: 3 */int fun(int aN,n)/* 改为:int n */ int i,j; for(i=0;iN;i+) for(j=0;j=j) aij=*n;/* 改为:*= */main() int aNN,n,i,j; FILE *fp; for(i=0;iN;i+) for(j=0;jN;j+) aij=rand()%10; printf(%4d,aji);/* 改为:aij */ printf(n); do n=rand()%10; while(n=3)/* 改为:(n=3); */ printf(n=%4dn,n); fun(a,n); fp=fopen(test4-1.out,w); if(fp=NULL) printf(nFile cannot open!n); exit(0); for(i=0;iN;i+) for(j=0;jN;j+) printf(%4d,aij); fprintf(fp,%4d,aij); printf(n); fclose(fp);评分标准:每改对一处得8分二、编程题(程序文件取名为 test4-2.c)(60分)评分标准:1fun函数编写20分:1) 函数定义、形参书写正确 10分2) for循环书写正确 10分2main函数40分:1) 字符串输入和输出正确5分2) 字符串的长度计算准确 10分3) 字符串前导*号个数计算准确 10分4) 字符串尾部*号个数计算准确 10分5) 函数调用参数传递正确5分参考程序:# include void fun(char *a,int n,int h ,int e) int i,j=0; for(i=h;in-e;i+) aj+=ai; aj=0;void main() char s81,*t,*f; int m=0,tn=0,fn=0; printf(Enter a string:n); gets(s); t=f=s; while(*t) t+; m+; t-; while(*t=*) t-; tn+; while(*f=*) f+; fn+; fun(s,m,fn,tn); printf(The string after deleted:n); puts(s);29-5套 参考答案:一、程序调试题(文件名为 test5-1.c)( 40 分 )# include void fun(double a,b,*x,*y)/* 改为:double b, double *x, double *y */ x=a*b; y=a/b;/* 改为:*x=a*b; *y=a/b; */io() int i; double a,b,c,d; file *rf,*wf;/* 改为:FILE */ rf=fopen(test5-1.in,r); wf=fopen(test5-1.out,w); fscanf(rf,%lf%lf,&a,&b); fun(a,b,c,d);/* 改为:fun( a , b , &c , &d ) */ fprintf(c=%lfnn=%lfn,c,d);/* 改为:fprintf ( wf , c=%lfnn=%lfn , c , d ) ; */ printf(c=%lfnn=%lfn,c,d); fclose(rf); fclose(wf); void main() double a,b,c,d; clrscr(); io();评分标准:每改对一处得8分二、编程题(程序文件取名为 test5-2.c)(60分)评分标准:1convert函数25分1) 函数定义(参数)正确10分2) 转置正确 15分2main函数35分1) 二维数组定义正确5分2) 数据输入正确 10分3) 函数调用参数传递正确 10分4) 结果输出正确 10分参考程序

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论