




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、四川省计算机等级考试二级c语言机试题(第二十一次)21-1套 参考答案:一、程序调试题(文件名test1-1.c)(40分)#include <stdio.h>#include <string.h>char *fun( char str) /* 改为 *str */ int
2、 i ; for(i=0 ; str; i+) /* 改为 stri */ if('a'<=stri)|(stri<='z')
3、60; /* 改为 && */ stri+=32; /* 改为 -= */ return *str;&
4、#160; /* 改为 str */main() char str81; printf("n please enter
5、 a string:"); gets(str81); /* 改为 str */ printf("n the result string is:n%s" , fun(str)
6、;评分标准:每改对1处得5分,结果正确得10分。二、编写程序(程序文件取名为 test1-2.c)(60分)评分标准:1被调函数编写正确 20分2文件打开、数据读入正确和定位正
7、确 10分3函数调用正确
8、160; 5分4屏幕输出和文件输出正确 20分5程序结构合理
9、 5分参考程序:# include <stdio.h># include <math.h>int prime
10、(int a,int n) int i,j,k=0,flag=0; for(i=0;i<n;i+) for(j=2;j<ai;j+) if(ai%j=0) flag=0; break;
11、160; else flag=1; if(flag) ak+=ai; return k;main() int n,i,a10; file *fp; fp=fopen("test1-2.txt"
12、,"r+"); for(n=0;n<10;n+) fscanf(fp,"%d",&an); n=prime(a,n); fseek(fp,0,2); for(i=0;i<n;i+) printf("%5d",ai); fprintf(fp,"%5d",ai)
13、; fclose(fp); 21-2套 参考答案:一、程序调试题(文件名为test2-1.c)(40分)#include <stdio.h>#define n10
14、60; /* 改为 n 10 */void fi(int a,int m) /* 改为 int */ int low=0,high=n,mid;
15、 while (low<=high) mid=(low+high)/2; if(m<amid) high=mid-1; else if(m>=amid)
16、60; /* 改为 m>amid */ low=mid+1; else r
17、eturn(mid); return(-1);main() int i, an=-3,4,7,9,13,45,67,89,100,180,k,m; for(i=0;i<n;i+) printf("%d ",ai); printf("enter m: "); scanf("%d",m); &
18、#160; /* 改为 &m */ k=fi(a,m);
19、; /* 改为 a */ if(k>0) printf("m=%d,index=%dn",m,k); /* 改为 k>=0 */
20、else printf("not be found!n");评分标准:每改对1处得5分,结果正确得10分。二、编写程序(程序文件取名为 test2-2.c)(60分)评分标准:1被调函数编写正确 20分2文件打开、数据读入正确
21、; 15分3函数调用正确 5分4屏幕输出及结果正确
22、60; 15分5程序结构合理 5分参考程序:# include <
23、stdio.h># define m 3# define n 4void fun(int ttmn,int ppn) int i,j,min; for(j=0;j<n;j+) min=tt0; for(i=0;i<m;i+) if(ttij<min)
24、 min=ttij; ppj=min; main() int tmn; int pn,i,j,k; file *fp; fp=fopen("test2-2.dat","r"); for(i=0;i<3;i+) for(j=0;j<4;j+)
25、0; fscanf(fp,"%d",&tij); fclose(fp); printf("the original data is :n"); for(i=0;i<m;i+) for(j=0;j<n;j+) printf("%6d",tij); printf(&qu
26、ot;n"); fun(t,p); printf("nthe result is :n"); for(k=0;k<n;k+) printf("%4d",pk); printf("n"); 21-3套 参考答案:一、程序调试题(test3-1.c):#include <stdio.h>void main() int i
27、,k;
28、60; /* 改为 k=0 */ char a80,b80,*p; p=*a;
29、60; /* 改为 p=a */ gets(p); while(!*p)
30、
31、 /* 改为 *p */ for(i=1;i<3&&*p!='0'p+,k+,i+) /* 改为 i<=3 */ &
32、#160; bk=*p; if(i=4) bk=''k+; /* 改为 ' '
33、0; */ bk='0' puts(*b);
34、; /* 改为 b */评分标准:每改对1处得5分,结果正确得10分。二、编写程序(程序文件取名为 test4-2.c)(60分)评分标准:1被调函数编写正确
35、60; 20分2文件打开、数据写入正确 10分3函数调用正确
36、160; 10分4屏幕输出正确 10分5m输入正确
37、; 5分6程序结构合理 &
38、#160; 5分参考程序:# include <stdio.h>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);mai
39、n() int a80,m; int i,n; file *fp; if(fp=fopen("test3-2.dat","w")=null) printf("can't open the file.n"); exit(0); printf("input m:n"); &
40、#160; scanf("%d",&m); n=creat(a,m); printf("n=%dn",n); fprintf("fp,"n=%dn",n); for(i=0;i<n;i+) printf("%4d",ai); fprintf(fp,"%4d",ai); &
41、#160; fclose(fp);21-4套 参考答案:一、程序调试题(test4-1.c):#include <stdio.h>main() char str81,c; int i,j,n;
42、0; /* 改为 n=0 */ printf("n enter a string:"); gets(str81); /* 改为 str
43、;*/ printf("n enter a character:"); getchar(c); /* 改为 c=getchar() */
44、; for(i=j=0;stri;i+) if(stri!=c) strj=stri; /* 改为 j+ */ else
45、; n; /* 改为 n+ */ strj= ;
46、; /* 改为 strj= '0' */ printf("nstr=%s,n=%dn",str,n); getchar();评分标准:每改对1处得5分,结果正确得10分。二、编写程序(程序文件取名为 test4-2.c)(60分)评分标准:1输入数据正确
47、0; 5分2被调函数编写正确 20分3文件操作及数据写入正确 &
48、#160; 15分4函数调用正确 5分5屏幕输出及结果正确&
49、#160; 10分6程序结构合理
50、160; 5分参考程序:# include <stdio.h># include <string.h>void fun(char *s,char *t) int i,j=0,n; n=strlen(s); for(i=0;i<n;i+) if(!(i%2=0 && si%2!=0)
51、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);
52、160; fprintf(fp,"%sn%sn",s,t); fclose(fp); 四川省计算机等级考试二级c语言机试题(第二十二次)22-1套 参考答案:一、程序调试题(文件名为test1-1.c)(40分)#include <stdio.h>#include <string.h>char move( char *str, int r) /* 改为 *move */ char t; int i
53、,len; /* 改为 k */ len=strlen(str); f
54、or(k=0;k<=r;k+) /* 改为 k<r */ t=*str; strcpy(str+1,str); /* 改为 strcpy(s
55、tr+1,str) */ strlen-1=t; return *str; /* 改为 str */void main() char s81; int m; printf("n please enter a string:n");
56、 gets(s); do printf("n please enter m:"); scanf("%d",m); /* 改为 &m */ if(m>strlen
57、(s) printf("n data error!n"); while(m>strlen(s); printf("n result:%sn",move(s,m);评分标准:每改对1处得5分,结果正确得10分。二、编写程序(程序文件取名为 test1-2.c)(60分)评分标准:1被调函数编写正确 &
58、#160; 25分2文件打开、数据读出正确 10分3函数调用正确
59、60; 10分4屏幕输出正确 10分5程序结构合理
60、; 5分参考程序:#include <stdio.h>sort(char a,char b) char c; int i,j=0; for(i=1;i<strlen(a);i+=2) bj+=ai;
61、 bj='0' for(i=1;i<strlen(b);i+) for(j=0;j<strlen(b)-i;j+) if(bj>bj+1) c=bj; bj=bj+1; bj+1=c; main() file *in; char a128,b65; in=fopen("test1-2.in","r"); fg
62、ets(a,128,in); fclose(in); sort(a,b); puts(b); 22-2套 参考答案:一、程序调试题(文件名为test2-1.c)(40分)#include <stdio.h>main() float a 10, min; &
63、#160; /* 改为 a1010 */ int i, j; int invert();
64、60; /* 改为 float */ for(i=0;i<10;i+) for(j=0;j<10;j+) aij= i+j; for(i=0;i<10;i+) min=invert(a,10); &
65、#160; /* 改为 ai */ printf("a%dmin=%fn",i,min); floa
66、t invert(float *a, n) /* 改为 int n */ int i; float min; min=*(a+0)
67、; for(i=1;i<n;i+) if(min<*(a+i)
68、0; /* 改为 > */ min=(a+i);
69、60; /* 改为 *(a+i) */ return min;评分标准:每改对1处得5分,结果正确得10分。二、编写程序(程序文件取名为 test2-2.c)(60分)评分标准:1被调函数编写正确 15分2文件打开、数据写入正确
70、60; 15分3函数调用正确 10分4屏幕输出正确
71、0; 10分5程序结构合理
72、; 10分参考程序:# include <stdio.h>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","w
73、b")=null) printf("cannot open the filen"); exit(0); for(i=3;i<400;i+) if(select(i) k=k+1; printf("%10d",i);
74、 fprintf(fp,"%10d",i); if(k%5=0) printf("n"); fprintf(fp,"n"); fclose(fp);&
75、#160;22-3套 参考答案:一、程序调试题(文件名为test3-1.c)(40分)#include <stdio.h>int fun(float s, int n, float *aver) /* 改为 *s */ float ave,t=0.0; int count
76、,k,i; /* 改为 count=0 */ for(k=0;k<n;k+) t=sk;
77、; /* 改为 += */ ave=t/n; for(i=0;i<n;i+)
78、; if(si>ave) count+; /* 改为 < */ *aver=&ave;
79、; /* 改为 ave */ return count; main() float s30,aver; int m, i; printf("nplease
80、enter n(<30):"); scanf("%d", &m); printf("nplease enter %d mark:n",m); for(i=0;i<m;i+) scanf("%f", s+i); printf("nthe number of students:%d n",fun(s, m, aver); /* 改为 &aver */
81、 printf("ave=%f n", aver);评分标准:每改对1处得5分,结果正确得10分。二、编写程序(程序文件取名为 test3-2.c)(60分)评分标准:1被调函数编写正确 20分2文件操作和读数据正确
82、; 15分3函数调用正确 10分4屏幕输出正确 &
83、#160; 10分5程序结构合理
84、160; 5分参考程序:#include<stdio.h>#include<string.h>#define m 10void fun(int *s) int i,j,t; for(i=1;i<m-2;i+) for(j=i+1;j<m-1;j+) if(si>sj) &
85、#160; t=si; si=sj; sj=t; int input(int s) file *fp; int i; if(fp=fopen("test3-2.in","r")=null) printf(&
86、quot;cannot open filen"); return(0); for(i=0;i<m;i+) fscanf(fp,"%d ",&si); fclose(fp); return(1);main() int sm; int i; if(input(s) fun(s); printf(&quo
87、t;n"); for(i=0;i<m;i+) printf("%d ",si); 四川省计算机等级考试二级c语言机试题(第二十三次) 23-1套 参考答案:一、程序调试题(文件名为test1-1.c)(40分)#include <stdio.h>#include <string.h> &
88、#160; /* 改为: math.h */main() char str100, *p=str, help15; static long int num50; int i=0, k=0, m, sign=0; printf("ninput the string:"); scanf("%s", p); do if(*p>=0 && *p<=9)
89、160; /* 改为:*p>=0 && *p<=9 或 *p>=48 && *p<=57 */ sign=1; helpk+=*p; else if(sign=1)
90、160; /* 改为:=*/ int n=0; while(-k>=0) numi+=(helpk-48)*(long int)pow(n+,10); /* 改为:pow(10,n+) */ i+;
91、 k=0; sign=0; else
92、0; /* 改为:else; */ p+; while(*(p-1)!='0'); for(m=0; m<i; m+) printf("%d,", numm); /* 改为:%ld (即长整型格式输出)*/评分标准:每改对一处得6分,结果正确得4分二、编程题(程序文件取名为 test1-2.c)(60分)评分标准:1被调函数f
93、un编写正确 20分 2文件打开和关闭正确 10分3函数调用正确
94、160; 5分 4屏幕输出和文件输出正确 15分5输出格式正确
95、; 5分 6程序结构合理 5分参考程序:# include <stdio.h># define m 100
96、0int fun(int *a) int m,k=0; for(m=1;m<=m;m+) if( (m%7=0 && m%11!=0) | (m%7!=0 && m%11=0) ) ak+=m; return k;main() int am,n,k; file *fp; clrscr();
97、60; /*清屏函数*/ fp=fopen("test1-2.dat","w"); n=fun(a); printf("%dn",n); fprintf(fp,"%dn",n); for(k=0;k<n;k+) printf("%5d",ak); fprintf(fp
98、,"%5d",ak); if( (k+1)%10 = 0 ) printf("n"); fprintf(fp,"n"); fclose(fp); 23-2套 参考答案:一、程序调试题(文件名 test2-1.c)( 40 分 )#include <stdio.h>#define n 80void
99、 fun(int *s, int *t, int k) /* 改为 *k */ int i,m; *k=0; m=*s; for(i=1;i<(*t-1);i+) if(m<s+i)
100、0; /* 改为 *(s+i) */ m=*(s+i); k=i; &
101、#160; /* 改为 *k */ si+1=m; *t+ ;
102、60; /* 改为 (*t)+ */main() int an=876,675,896,101,301,401,980,431,451,777; int i, n=10, mi; fun(an, &n,
103、&mi); /* 改为 a */ printf("nthe index of max is:%dn",mi); printf("the result:n"); for(i=0;i<n;i+) printf("%4d",
104、&ai ); /* 改为 ai */评分标准:每改对一处得6分,结果正确得4分二、编程题(程序文件取名为 test2-2.c)(60分)评分标准:1被调函数fun编写正确 20分 2文件打开和关闭正确
105、160; 10分3函数调用正确 5分 4屏幕输出和文件输出正确
106、0; 15分5输出格式正确 5分 6程序结构合理
107、 5分参考程序:# include <stdio.h># define m 1000int fun(int *a) int m,k=0; for(m=1;m<=m;m+) if( (m%7=0 && m%
108、11!=0) | (m%7!=0 && m%11=0) ) ak+=m; return k;main() int am,n,k; file *fp; clrscr(); /*清屏函数*/ fp=fopen("test1-2.d
109、at","w"); n=fun(a); printf("%dn",n); fprintf(fp,"%dn",n); for(k=0;k<n;k+) printf("%5d",ak); fprintf(fp,"%5d",ak); if( (k+1)%10 = 0 ) printf("n&quo
110、t;); fprintf(fp,"n"); fclose(fp); 23-3套 参考答案:一、程序调试题(文件名 test3-1.c)( 40 分 )#include <stdio.h>#include <string.h> /* 改为 ctype.h */void fun(char s)
111、; /* 改为 *s */ int i,j; for(i=j=0;si;i+); /* 改为 去掉分号 ;*/ if(isalpha(si) sj =si; /* 改为 sj+ */ si ='0'
112、0; /* 改为 sj */void main() char str80="a*b$c(d!eee !a." fun(str80); /* 改为 str */ printf("n"); puts(str);评分标准:每改对一处得6分,结果正确得4分二、编程题(程序文件取名为 test3-2.c)(60分)
113、评分标准:1文件定义、打开、关闭正确 10分 2数据讲稿和文件写入正确 10分3函数调用正确 5分
114、4函数定义和参数使用正确 20分5结果正确 10分 6程序结构合理
115、160; 5分参考程序:#include <stdio.h>void sort(int aa,int bb) int i,j,data; for(i=0;i<5;i+) for(j=i+1;j<5;j+) if(aai%100
116、0>aaj%1000) data=aai; aai=aaj; aaj=data; else if(aai%1000=aaj%1000) &
117、#160; if(aai<aaj) data=aai; aai=aaj;
118、160; aaj=data; for(i=0;i<5;i+) bbi=aai;void main() int aa5,bb5; file *out;
119、; int i; printf("nplease input 5 numbers:"); for(i=0;i<5;i+) scanf("%d",&aai); sort(aa,bb); out=fopen("test3-2.dat","w"); printf("n"); for(i=
120、0;i<5;i+) printf("%5d",bbi); fprintf(out,"%5d",bbi); fclose(out); 23-4套 参考答案:一、程序调试题(文件名 test4-1.c)( 40 分 )#include <stdio.h>#include <string.h>int fun(char s, char t) /* 改为 char *s
121、, char *t */ int n=0 ; char *p , *r ; while(*s) p=s; r=t ;
122、 while(*r) if(*r=*p) /* 改为 = */ r+; p+;
123、0; else continue; /* 改为 break */ if(r='0') /* 改为
124、*r */ n+; r+; /* 改为 s+ */ return *s;
125、60; /* 改为 n */ main() int m ; char s100, t100; printf("nplease enter string s:"); gets(s); &
126、#160; printf("nplease enter string t:" ); gets(t); m=fun(s,t);
127、; printf("nthe result is: m= %dn",m);评分标准:每改对一处得6分,结果正确得4分二、编程题(程序文件取名为 test4-2.c)(60分)评分标准:1被调函数编写正确 &
128、#160; 20分 2函数调用正确 5分3文件打开和关闭正确 5分 4
129、文件读、写正确 15分5n输入和屏幕输出正确 10分 6程序结构合理 5
130、分参考程序:#include<stdio.h>#define n 5void fun(int ann,int n) int i,j; for(i=j=0;i<n;i+,j+) aij=aij+1; for(i=1;i<n;i+) for(j=0;j<i;j+) aij=aij*2; for(i=0;i<n;i+) for(j=i+1;j<n;j+)
131、160; aij=aij*3;main() int ann,i,j,n; file *fp; clrscr(); printf(“*input n *n”); scanf(“%d”,&n); fp=fopen("test4-2.in","r"); if(fp=null) printf("file test4-2.in not open"); exit(0);
132、160; for(i=0;i<n;i+) for(j=0;j<n;j+) fscanf(fp,"%d",&aij); fclose(fp); fun(a,n); fp=fopen("test4-2.out","w"); if(fp=null) printf("file test4-2.in not open");
133、160; exit(0); for(i=0;i<n;i+) for(j=0;j<n;j+) printf("%5d",aij); fprintf(fp,"%d",aij); printf("n"); fprintf(fp,"n"); 四川省
134、计算机等级考试二级c语言机试题(第二十四次) 24-1套 参考答案:一、程序调试题( 文件名 test1-1.c )(40分)#include <stdio.h>void spacenum(char *a,int *n) int i; n=0; /* 改为 *n */ for(i=0;i<n;i+) /* 改为 *(a+i)!= '0' */ if(*(a+i)=' ') *n+; /* 改为 (*n)+ */main( ) char str100; int count
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 西方政治理论与实践的结合分析试题及答案
- 网络工程师的未来发展方向试题及答案
- 西方国家政治外交中的人权问题试题及答案
- 经济政策与科技创新试题及答案
- 西方选举制度的演变试题及答案
- 深度分析西方国家的政治演变试题及答案
- 深入解析四级软件测试工程师典型试题及答案
- 数据库设计在2025年软件设计师考试中的试题及答案
- 机电工程考试难点透析与试题及答案
- 公共政策对未来就业的影响试题及答案
- 职业暴露与防试题及答案
- 2025年高考政治抢押秘籍(江苏专用)时政热点03发展民营经济-(江苏专用)(学生版+解析)
- 2025年四川省成都市锦江区中考二诊物理试题(含答案)
- 2025年安徽高考历史模拟预测试卷(含答案解析)
- DB34T 4720-2024工会驿站运维服务规范
- 安川机器人手动操纵及编程基础
- 焊接设备维护与保养试题及答案
- 《民间借贷法规解析》课件
- 蓝色简约风美国加征关税
- 规范种植品种管理制度
- 广东省深圳市罗湖区2025年高三第三次调研测试英语试题试卷含解析
评论
0/150
提交评论