小学教育四川省计算机等级考试二级C语言机试题第二十八次文档
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
四川省计算机等级考试二级C语言机试题(第二十八次)
2009-11-06 16:45
四川省计算机等级考试二级C语言机试题(第二十八次)
2009-03-29 16:44:17
(第一套)
(60分钟)
一、程序调试题(40分)
磁盘上有一C程序test1-1.c,其功能是:将具有N个元素的数组的后m个元素移到前m个位置。例如,若输入m=3,数组元素为:1 2 3 4 5 6 7 8 9 10,则输出结果为:8 9 10 1 2 3 4 5 6 7。要求将结果显示在屏幕上并写入文件test1-1.dat中。
请更改程序中的错误,使程序能得出正确结果。
注意:不得增行或删行,也不得更改程序结构。
源程序如下:
# include "stdio.h"
# define N 10
void main()
{ int a[N],k,m,r,*t;
FILE *fp;
fp=fopen(test1-1.dat,"w");
if(fp==NULL)
{ printf(" not open!\n");
exit(0);
}
printf("\nInput m:");
scanf("%d",m);
printf("\nInput 10 numbers:\n");
for(k=0;k scanf("%d",a); for(r=0;r { t=a[N-1]; for(k=N-1;k>0;k--) a[k]=a[k-1]; a[k]=t; } for(k=0;k { printf("%4d",a[k]); fprintf(fp,"%4d",a[k]); } fclose(fp); } 二、编写程序test1-2.c(60分) 编写函数fun,函数fun的功能是:求出满足“百位减十位等于个位”的所有三位整数,并按降序存入形参数组a中,满足条件下的三位数总个数作为函数值返回。 main函数中调用函数fun,并按一行5个数输出结果。 (第二套) (60分钟) 一、程序调试题(40分) 磁盘上有一个名为test2-1.c的C程序,其功能是将一个文本文件test2-1.in 逐行逆置复制到另一个文件test2-1.out中。test2-1.out文件名在命令行中给出。请改正程序中的错误,使程序能得出正确的结果。注意:不得增行或删行,也不得更改程序结构。 源程序如下: # include "stdio.h" # include "conio.h" void rev(void); FILE *f1,*f2; void main(int argc,char *argv[]) { char ch; if(argc>2) { printf("paramelers missing!\n"); exit(0); } if((f1=fopen(*argv[1],"w"))==NULL) { printf("cannot open file1!\n"); exit(0); } if((f2=fopen("test2-1.in","r"))==NULL) { printf("cannot open file2!\n"); exit(0); } while(!feof(f2)) { void rev(); fputc('\n',f1); } fclose(f1); fclose(f2); } void rev(void) { char c; if(!feof(f2)||((c=fgetc(f2))!='\n')) { rev(); fputc(c,f2); } } 二、编写程序test2-2.c(60分) 从键盘上输入整数m和k,将大于且紧靠m的k个素数存入数组xx中,将结果显示在屏幕上。要求: (1)在num函数中完成找出紧靠m的k个素数,并存入数组xx中。函数num 的定义形式为:void num(int m,int k,int xx[]) (2)main函数完成数据的输入和输出。 (第三套) (60分钟) 一、程序调试题(40分) 磁盘上有一个名为test3-1.c的C程序文件,其中函数fun的功能是:找出被2、3、5整除时余数均为1的最小的10个自然数,并存放到一个整型数组中。 在main函数中调用函数fun,输出最后结果,并将结果输出到文本文件 test3-1.txt中。 请改正程序中的错误,使其能得到正确的结果。 注意:不得增行或删行,也不得更改程序结构。 源程序如下: # include void fun(int a[]) { int i; int cnt=0; for(i=1;cnt<10;i++) if(i%2==1||i%3==1||i%5==1) { a[cnt]=i; cnt++; } } void main() { int a[10]; int i; FILE *fp; if((fp=fopen("test3-1.txt","w"))==null) { printf("Cannot open the file.\n"); exit(0); } fun(); for(i=0;i<10;i++) { printf("%4d",a[i]); fprintf("%4d",a[i]); } fclose(fp); } 二、编写程序test3-2.c(60分) 按要求编写程序: (1)编写函数fun,其功能是:统计形参s所指字符串中数字字符出现的次数,并存放在形参t所指的变量中。例如:形参s所指字符串为:abcdef35agd3khe7,则数字出现的次数为4次。 (2)在main函数中,从已有文件test3-2.in中读出一行字符(字符个数不超过80个)到字符数组str中,调用函数fun,统计出数字出现的次数,并在屏幕上输出结果。 四川省计算机等级考试二级C语言机试题(第二十七次) 2009-11-06 16:46 四川省计算机等级考试二级C语言机试题(第二十七次) 2009-03-29 16:43:11 (第一套) (60分钟)