1、小学教育四川省计算机等级考试二级C语言机试题第二十八次文档四川省计算机等级考试二级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中。请更改程序中的错误,使程序能得出正确结果
2、。注意:不得增行或删行,也不得更改程序结构。源程序如下:# include stdio.h# define N 10void main() int aN,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;kN;k+) scanf(%d,a);for(r=0;r0;k-) ak=ak-1; ak=t;for(k=0;k2) printf(parame
3、lers missing!n); exit(0);if(f1=fopen(*argv1,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);二、编写程序
4、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中。请改正程
5、序中的错误,使其能得到正确的结果。注意:不得增行或删行,也不得更改程序结构。源程序如下:# include void fun(int a)int i;int cnt=0;for(i=1;cnt10;i+) if(i%2=1|i%3=1|i%5=1) acnt=i; cnt+; void main()int a10;int i;FILE *fp;if(fp=fopen(test3-1.txt,w)=null) printf(Cannot open the file.n); exit(0);fun();for(i=0;i10;i+) printf(%4d,ai); fprintf(%4d,ai);
6、 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:4
7、3:11 (第一套)(60分钟)一、程序调试题(40分)磁盘上有一个名为test1-1.c的C程序,其功能是:利用折半查找法查找整数m在含有N个有序整数的一维数组中的位置。若找到,则返回其下标,反之,则返回-1。请更改程序中的错误,使之能输出正确结果。注意:不得增行或删行,也不得更改程序结构。源程序如下:# include stdio.h# define N 10void fun(int a,int m) int low=0,high=N-1,mid;while(low=high) mid=(low+high)%2; if(mamid) low=mid+1; else return ; ret
8、urn -1;void main()int i,a=-3,4,7,9,11,13,45,60,66,70,k,m;printf(n array a:n);for(i=0;i=0) printf(m=%d,index=%dn,m,k);else printf(Not be found!n);二、编写程序test1-2.c(60分) 用指针编程实现:将用户输入的由数字字符和非数字字符组成的字符串(字符个数不超过256个)中的数字提取出来,例如:输入“asd123rt456,lg789”,则提取的数字分别是123、456和789。将结果显示在屏幕上,同时输出到文件test1-2.dat中(要求每个数
9、字一行)。(第二套)(60分钟)一、程序调试题(40分)磁盘上有一个名为test2-1.c的C程序,其功能是统计字符串中大写字母的个数。在main函数中输入一个字符串(字符个数不超过80个),并输出统计结果。在UpperNum()函数中统计字符串str中的大写字母个数,并作为函数值返回。注意:不得增行或删行,也不得更改程序结构。源程序如下:# include stdio.h# include ctype.hint UpperNum(char str)int n,i=0;while(str+i) if(isupper(stri) n+; i+;return i;void main()char s
10、tr;printf(n Input a string:n);gets(str);printf(nThe Number of Upper Letter is: %dn,UpperNum(str);二、编写程序test2-2.c(60分)按要求编写程序:(1)编写一个字符串比较函数mystrcpy,其功能是:对两个字符串进行比较,若这两个字符串相等,则返回0,若这两个字符串不等,则返回它们第一个不同字符的ASCII码之差。(2)编写main函数:从文件test2-2.dat中读两个字符串分别赋给两个一维字符数组,调用mystrcpy函数,输出比较结果。(第三套)(60分钟)一、程序调试题(40分)
11、磁盘上有一个名为test3-1.c的C程序文件,其功能是:从键盘上输入一个1001000之间的数,找出其中三位数字相等的所有整数并输出。请改正程序中的错误。注意:不得增行或删行,也不得更改程序结构。源程序如下:# include stdio.h# define N 100int fun(int s,int n) int i,j,k,a,b,c;j=0;for(i=100;i1000)num=fun(a,n);printf(nnThe result:n);for(i=0;inum;i+) printf(%5d,ai);printf(n);二、编写程序test3-2.c(60分)按要求编写程序:(1)编写函数fun,其功能是:统计形参s所指字符串中数字字符出现的次数,并存放在形参t所指的变量中。例如:形参s所指字符串为:abcdef35agd3k
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1