




已阅读5页,还剩28页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
四川省计算机二级(C与C+)上试试题 参考答案四川省普通高等学校计算机应用知识和能力第十八次等级考试二级 (C语言 )上机考试试卷 (第一套) 参考答案一、程序调试题(文件名为test1-1.c)(40分)# include # include int fun(int m);/* 去掉分号(;) */ int sum,n=0,j,yes;/* 改为 sum=0 */ while(m=2)&(n10)/* 改为 (n10)*/ yes=0;/* 改为 yes=1 */ for(j=2;j=m/2;j+) if(m%j=0) yes=0; break; if(yes=1)/* 改为 yes=1*/ sum+=m; n+; m-; return ;/* 改为 return sum*/main() int m; clrscr(); scanf(%d,m);/* 改为 &m*/ printf(%dn,fun(m);评分标准:每改对一处得5分,运行结果正确得5分。二、编写程序(程序文件取名为 test1-2.c)(60分)评分标准:1文件打开与关闭正确10分2文件读写正确10分3函数及函数调用正确20分4屏幕上显示结果正确10分5Test1-2.txt中结果正确10分参考程序:# include # include # define M 10int aMM=0;fm(int aM,int m) int j,k; for(j=0;jm;j+) for(k=0;km;k+) ajk=(k+1)*(j+1);main() int i,j,n; FILE *fp; fp=fopen(test1-2.txt,w); clrscr(); printf(Enter n:); scanf(%d,&n); fm(a,n); for(i=0;in;i+) for(j=0;jn;j+) printf(%4d,aij); fprintf(fp,%4d,aij); printf(n); fprintf(fp,n); fclose(fp);四川省普通高等学校计算机应用知识和能力第十九次等级考试二级 (C和C+语言 )上机考试试卷 (第一套) 参考答案一、程序调试题(文件名为test1-1.c)(40分)# include void fun(long s,long t)/* 改为 long *t */ long s1=10; *t=s%10; while(so);/* 改为 while(s0) */ s=s/100; t=s%10*s1+t;/* 改为 *t=s%10*s1+*t */ s1=s1*100; /* 改为 s1=s1*10 */ void main() long s,t; printf(nPlease enter integer s:); scanf(%ld,&s); if(s0) fun(s,&t); printf(The result is :%ldn,t); else printf(s value error.n);评分标准:每改对一处得6分,第二处有两个错误,结果正确得10分。二、编写程序(程序文件取名为 test1-2.c)(60分)评分标准:第 33 页 共 33 页1文件打开、关闭正确10分2屏幕结果输出正确5分3文件结果输出正确5分4数据输入方法正确5分5排号正确5分6数据初始化正确5分7数据处理正确20分8找出结果正确5分参考程序:# include # define nmax 50void main() int i,k,m,n,numnmax,*p; FILE *fp; printf(Please enter the n:); scanf(%d,&n); p=num; for(i=0;in;i+) *(p+i)=i+1; i=0;k=0;m=0; while(mn-1) if( *(p+i)!= 0 ) k+; if(k=5) *(p+i)=0; k=0;m+; i+; if(i=n) i=0; while(*p=0) p+; fp=fopen(test1-2.dat,w); printf(%d number is a last ont.n,*p); fprintf(fp,%d number is a last ont.n,*p); fclose(fp);四川省普通高等学校计算机应用知识和能力第十九次等级考试 二级 (C和 C+语言 )上机考试试卷 (第二套 ) 参考答案一、程序调试题(文件名为test2-1.c)(40分)# include # include void fun(char *s,char *t1,char *t2,char *w) char *p,*r,*place; strcpy(w,s); place=NULL; while(*w) p=w; r=t1; while(r)/* 改为 *r */ if(*r=*p)/* 改为 *r=*p */ r+;p+; else continue;/* 改为 break */ if(*r=0)/* 改为 0 */ place=w; w+; if(place!=NULL) r=t2; while(&r)/* 改为 *r */ *place=*r,place+,r+; main() char s100,t1100,t2100,w100; printf(nPlease enter string s:); scanf(%s,s); printf(nPlease enter substring t1:); scanf(%s,t1); printf(nPlease enter substring t2:); scanf(%s,t2); if(strlen(t1)=strlen(t2) fun(s,t1,t2,w); printf(nThe result is:%sn,w); else printf(Error:strlen(t1)!=strlen(t2)n);评分标准:每改对一处得6分,结果正确得10分。二、编写程序(程序文件取名为 test2-2.c)(60分)评分标准:1文件打开、关闭正确10分2屏幕结果输出正确5分3文件结果输出正确5分4数据输入方法正确5分5函数调用和函数参数定义方法正确10分6下标为奇数位置的判断正确 10分7字母转换正确 10分8命令行参数使用正确5分参考程序:# include void fun(char *st) char *p=st; int i=0; while(*p) if(i%2)&(*p=a & *p=s1;p+)/* 改为 p- */ *(p+len2)=*p; while(*s2) *s1+=*s2+; *(q+len1+len2)=0; return p;/* 改为 return q */void main() char str1100,str2100,*add; printf(Input a string:n); gets(str1); printf(nInput the string do you want to insert:n); gets(str2); add=insert(str1,str2); printf(output is :%sn,add);评分标准:每改对一处得5分,结果正确得10分。二、编写程序(程序文件取名为 test3-2.c)(60分)评分标准:1字符串输入正确5分2函数及函数调用正确10分3替换位置定义正确10分4字符串替换正确15分5屏幕上显示结果正确5分6文件打开、关闭正确5分7文件写入正确5分8返回结果正确5分参考程序:# include # include char *strrep(char *s1,char *s2,int n) char *p,*q; p=s1+n; q=s2; while(*q) *p+=*q+; *p=0; return s1;main() char a100,b100,*str; int n,len; FILE *fp; fp=fopen(test3-2.dat,w); printf(Input string a and b:n); gets(a); gets(b); len=strlen(a); printf(Input number:); scanf(%d,&n); if(n=0)&(n=len) str=strrep(a,b,n); printf(Output is :%sn,str); fprintf(fp,Output is :%sn,str); else printf(n value is error.n); fprintf(fp,n value is error.n); fclose(fp);四川省普通高等学校计算机应用知识和能力第二十次等级考试 二级 (C和 C+语言 )上机考试试卷 (第一套 ) 参考答案一、程序调试题(文件名为test1-1.c)(40分)#include int len_max(char *strp) int max=0,len=0; while(strp!=0) while(*strp=A&*strp=a&*strp=z) /* 改为 | */ len+;/* 增加一行语句: strp+; */ if(lenmax */ len=0; strp+; return;/* 改为 return max */void main() char str100; int maxlen; printf(Input a sentence:n); gets(str); maxlen=len_max(&str);/* 改为 str */ printf(maxlen=%dn,maxlen);二、编写程序(程序文件取名为 test1-2.c)(60分)评分标准:1文件打开、关闭正确2屏幕结果输出正确3文件结果输出正确4函数定义、形参书写正确5正确定义实参二维数组,并能正确调用creat函数6函数中对二维数组的处理正确参考程序:# include void creat(int a1010,int n) int i,j; for(i=0;in;i+) for(j=0;j=i;j+) aij=i*4+j*2+1;main() int a1010,m,i,j; FILE *fp; fp=fopen(test1-2.dat,w); printf(Input m(110):); scanf(%d,&m); creat(a,m); for(i=0;im;i+) for(j=0;j=i;j+) printf(%5d,aij); fprintf(fp,%5d,aij); printf(n); fprintf(fp,n); fclose(fp);四川省普通高等学校计算机应用知识和能力第二十次等级考试二级 (C与 C+语言 )上机考试试卷 (第二套 ) 参考答案一、程序调试题(文件名为test2-1.c)(40分)#include void fun(int m, char s)/* 改为 *s */ int k, i=10; while(m!=0) k=m/i ;/* 改为 m%i */ *s=k+0;/* 改为 0 */ s+ ; m=(m-k)/i ; /*增加一行内容:*s=0; */void main() int x, i; char s10; scanf(%d, &x); if(x0) fun(x, s); for(i=0 ; s ; i+)/* 改为 si */ printf(%c* , si) ; else printf(x value errorn);二、编写程序(程序文件取名为 test2-2.c)(60分)评分标准:1文件打开和关闭正确2串的读入正确3串的排序正确4文件位置指针定位正确5屏幕输出和文件输出正确6程序结构合理参考程序:# include # include main() char str380,string80; int i,j,k; FILE *fp; fp=fopen(test2-2.txt,r+); for(i=0;i3;i+) fgets(stri,80,fp); printf(The strings:n); for(i=0;i3;i+) printf(%s,stri); for(i=0;i2;i+) k=i; for(j=i+1;j 0 ) k=j; if(k!=i) strcpy(string,strk); strcpy(strk,stri); strcpy(stri,string); printf(Sorted result:n); fseek(fp,0,2); for(i=0;i3;i+) printf(%s,stri); fprintf(fp,%s,stri); fclose(fp);四川省普通高等学校计算机应用知识和能力第二十次等级考试二级 (C与 C+语言 )上机考试试卷 (第三套 ) 参考答案一、程序调试题(文件名为test3-1.c)(40分)#include #define M 2#define N 3#define P 2void fun(int aMN,bNP,cMP)/* 改为 int bNP,int cMP */ int i,j,k; for(i=0;i=P;i+)/* 改为 iP */ for(j=0;jP;j+) cij=0; for(k=0;kn;k+) /* 改为 kN */ cij=aik*bkj;/* 改为 += */ void main() int a23=1,2,3,4,5,6; int b32=1,2,3,4,5,6; int c22, i, j; fun(*a,*b,*c); /* 改为 fun(a,b,c) */ for(i=0;i2;i+) for(j=0;j2;j+) printf(%d ,cij); printf(n); 二、编写程序(程序文件取名为 test3-2.c)(60分)评分标准:1文件打开和关闭正确2函数定义、调用和参数使用正确3屏幕输出和文件输出正确4递归调用方法正确5命令行参数使用正确6程序结构合理参考程序:# include int fun(int n) int f; if(n1) return 0; else if(n=1) f=1;else f=fun(n-1)+n; return f;main(int argc,char *argv) int sum,n; FILE *fp; if(argc!=2) printf(Error!n); exit(0); fp=fopen(argv1,w); printf(Input n: ); scanf(%d,&n); sum=fun(n); printf(1+2+.+%d=%dn,n,sum); fprintf(fp,1+2+.+%d=%dn,n,sum); fclose(fp);四川省普通高等学校计算机应用知识和能力第二十一次等级考试二级 (C与 C+语言 )上机考试试卷 (第一套 ) 参考答案一、程序调试题(文件名为test1-1.c)(40分)#include #include char *fun( char str) /* 改为 *str */ int i ; for(i=0 ; str; i+) /* 改为 stri */ if(a=stri)|(stri=z) /* 改为 & */ stri+=32; /* 改为 -= */ return *str; /* 改为 str */main() char str81; printf(n Please enter a string:); gets(str81); /* 改为 str */ printf(n The result string is:n%s , fun(str);评分标准:每改对1处得5分,结果正确得10分。二、编写程序(程序文件取名为 test1-2.c)(60分)评分标准:1被调函数编写正确 20分2文件打开、数据读入正确和定位正确10分3函数调用正确 5分4屏幕输出和文件输出正确20分5程序结构合理5分参考程序:# include # include int prime(int a,int n) int i,j,k=0,flag=0; for(i=0;in;i+) for(j=2;jai;j+) if(ai%j=0) flag=0; break; else flag=1; if(flag) ak+=ai; return k;main() int n,i,a10; FILE *fp; fp=fopen(test1-2.txt,r+); for(n=0;n10;n+) fscanf(fp,%d,&an); n=prime(a,n); fseek(fp,0,2); for(i=0;in;i+) printf(%5d,ai); fprintf(fp,%5d,ai); fclose(fp);四川省普通高等学校计算机应用知识和能力第二十一次等级考试二级 (C与 C+语言 )上机考试试卷 (第二套 ) 参考答案一、程序调试题(文件名为test2-1.c)(40分)#include #define N10/* 改为 N 10 */void fi(int a,int m)/* 改为 int */ int low=0,high=N,mid; while (low=high) mid=(low+high)/2; if(m=amid)/* 改为 mamid */ low=mid+1; else return(mid); return(-1);main() int i, aN=-3,4,7,9,13,45,67,89,100,180,k,m; for(i=0;i0) printf(m=%d,index=%dn,m,k); /* 改为 k=0 */ else printf(Not be found!n);评分标准:每改对1处得5分,结果正确得10分。二、编写程序(程序文件取名为 test2-2.c)(60分)评分标准:1被调函数编写正确 20分2文件打开、数据读入正确 15分3函数调用正确 5分4屏幕输出及结果正确15分5程序结构合理5分参考程序:# include # define M 3# define N 4void fun(int ttMN,int ppN) int i,j,min; for(j=0;jN;j+) min=tt0; for(i=0;iM;i+) if(ttijmin) min=ttij; ppj=min; main() int tMN; int pN,i,j,k; FILE *fp; fp=fopen(test2-2.dat,r); for(i=0;i3;i+) for(j=0;j4;j+) fscanf(fp,%d,&tij); fclose(fp); printf(The original data is :n); for(i=0;iM;i+) for(j=0;jN;j+) printf(%6d,tij); printf(n); fun(t,p); printf(nThe result is :n); for(k=0;kN;k+) printf(%4d,pk); printf(n);四川省普通高等学校计剪机应用知识和能力第二十一次等级考试二级 (C与 C+语言 )上机考试试卷 (第三套 ) 参考答案一、程序调试题(文件名为test3-1.c)(40分)#include void main() int i,k;/* 改为 k=0 */ char a80,b80,*p; p=*a;/* 改为 p=a */ gets(p); while(!*p)/* 改为 *p */ for(i=1;i3&*p!=0;p+,k+,i+) /* 改为 i=3 */ bk=*p; if(i=4) bk=;k+;/* 改为 */ bk=0; puts(*b);/* 改为 b */评分标准:每改对1处得5分,结果正确得10分。二、编写程序(程序文件取名为 test4-2.c)(60分)评分标准:1被调函数编写正确 20分2文件打开、数据写入正确 10分3函数调用正确 10分4屏幕输出正确10分5m输入正确5分6程序结构合理5分参考程序:# include int create(int a,int m) int i,j=0; for(i=1;i=m;i+) if(i%3=0 | i%7=0) aj+=i; return (j);main() int a80,m; int i,n; FILE *fp; if(fp=fopen(test3-2.dat,w)=NULL) printf(Cant open the file.n); exit(0); printf(Input m:n); scanf(%d,&m); n=creat(a,m); printf(n=%dn,n); fprintf(fp,n=%dn,n); for(i=0;in;i+) printf(%4d,ai); fprintf(fp,%4d,ai); fclose(fp);四川省普通高等学校计算机应用知识和能力第二十一次等级考试二级 (C与 C+语言 )上机考试试卷 (第四套 ) 参考答案一、程序调试题(文件名为test4-1.c)(40分)#include main() char str81,c; int i,j,n; /* 改为 n=0 */ printf(n Enter a string:); gets(str81); /* 改为 str */ printf(n Enter a character:); getchar(c); /* 改为 c=getchar() */ for(i=j=0;stri;i+) if(stri!=c) strj=stri; /* 改为 j+ */ else n; /* 改为 n+ */ strj= ; /* 改为 strj= 0 */ printf(nSTR=%s,N=%dn,str,n); getchar();评分标准:每改对1处得5分,结果正确得10分。二、编写程序(程序文件取名为 test4-2.c)(60分)评分标准:1输入数据正确 5分2被调函数编写正确 20分3文件操作及数据写入正确15分4函数调用正确5分5屏幕输出及结果正确10分6程序结构合理5分参考程序:# include # include void fun(char *s,char *t) int i,j=0,n; n=strlen(s); for(i=0;in;i+) if(!(i%2=0 & si%2!=0) tj+=si; tj=0;main() char s100,t100; FILE *fp; printf(Please enter a string:n); gets(s); fun(s,t); fp=fopen(test4-2.txt,w); printf(%sn%sn,s,t); fprintf(fp,%sn%sn,s,t); fclose(fp);四川省普通高等学校计算机应用知识和能力第二十二次等级考试二级 (C与 C+语言 )上机考试试卷 (第一套 ) 参考答案一、程序调试题(文件名为test1-1.c)(40分)#include #include char move( char *str, int r) /* 改为 *move */ char t; int i,len;/* 改为 k */ len=strlen(str); for(k=0;k=r;k+) /* 改为 kstrlen(s) printf(n Data error!n); while(mstrlen(s); printf(n Result:%sn,move(s,m);评分标准:每改对1处得5分,结果正确得10分。二、编写程序(程序文件取名为 test1-2.c)(60分)评分标准:1被调函数编写正确 25分2文件打开、数据读出正确 10分3函数调用正确10分4屏幕输出正确10分5程序结构合理5分参考程序:#include sort(char a,char b) char c; int i,j=0; for(i=1;istrlen(a);i+=2) bj+=ai; bj=0; for(i=1;istrlen(b);i+) for(j=0;jbj+1) c=bj; bj=bj+1; bj+1=c; main() FILE *in; char a128,b65; in=fopen(test1-2.in,r); fgets(a,128,in); fclose(in); sort(a,b); puts(b);四川省普通高等学校计算机应用知识和能力第二十二次等级考试二级 (C与 C+语言 )上机考试试卷 (第二套 ) 参考答案一、程序调试题(文件名为test2-1.c)(40分)#include main() float a 10, min;/* 改为 a1010 */ int i, j; int invert(); /* 改为 float */ for(i=0;i10;i+) for(j=0;j10;j+) aij= i+j; for(i=0;i10;i+) min=invert(a,10);/* 改为 ai */ printf(a%dmin=%fn,i,min); float invert(float *a, n) /* 改为 int n */ int i; float min; min=*(a+0); for(i=1;in;i+) if(min */ min=(a+i);/* 改为 *(a+i) */ return min;评分标准:每改对1处得5分,结果正确得10分。二、编写程序(程序文件取名为 test2-2.c)(60分)评分标准:1被调函数编写正确 15分2文件打开、数据写入正确 15分3函数调用正确10分4屏幕输出正确10分5程序结构合理10分参考程序:# include int select(int a) if(!(a%3)&!(a%5) return 1; else return 0;main() int i,k=0; FILE *fp; if(fp=fopen(test2-2.dat,wb)=NULL) printf(cannot open the filen); exit(0); for(i=3;i400;i+) if(select(i) k=k+1; printf(%10d,i); fprintf(fp,%10d,i); if(k%5=0) printf(n); fprintf(fp,n); fclose(fp);四川省普通高等学校计算机应用知识和能力第二十二次等级考试二级 (C与 C+语言 )上机考试试卷 (第三套) 参考答案一、程序调试题(文件名为test3-1.c)(40分)#inc
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 50万千瓦光伏复合项目实施方案(模板)
- 火灾应急预案口号(3篇)
- 火灾应急预案的培训效果(3篇)
- 医院电子病历系统2025年智能语音输入与语音识别技术融合报告
- 2024年水利水电新课题试题及答案
- 工程经济人力资源管理试题及答案
- 2025年被动式超低能耗建筑技术原理与施工难点解析报告
- 施工企业的成本控制策略试题及答案
- 2025年公共关系学高频试题及答案
- 行政管理自考文献综述试题及答案
- 调压器技术规范
- 思想道德与法治课件:第六章 第一节 社会主义法律的特征和运行
- 《康复医学》第四章 常见疾病的康复 第二节 肿瘤康复课件
- 61850报文解析-深瑞版-131016
- 2016年度高考全国3卷文综地理试题(解析版)
- SIPOC培训教材学习教案
- 江西新定额2017土建定额说明及解释
- 国家电网有限公司十八项电网重大反事故措施(修订版)-2018版(word文档良心出品)
- 部编版三下语文《宇宙的另一边》教学课件PPT
- 《工程勘察设计收费管理规定》计价格200210号文
- 附件一∶ 教育部专家实地评估案头必备材料
评论
0/150
提交评论