《2022年四川省计算机等级考试二级C语言机试题资料 .pdf》由会员分享,可在线阅读,更多相关《2022年四川省计算机等级考试二级C语言机试题资料 .pdf(46页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、四川省计算机等级考试二级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 10 void main()int aN,k,m,r,*t;FILE*fp;fp=fopen(test1-1.dat,w);if(fp=NULL)printf(File can 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(paramelers missing!n);exit(0);if(
3、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);名师资料总结-精品资料欢迎下载-名师精心整理-第 2 页,共 46 页 -fclose(f1);fclose(f2);void rev(void)char c;if(!feof(f2)|(c=fgetc(f2)!=n)rev();fputc(c,f2);二、编写程序 t
4、est2-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,输出最后结果,并将结果输出
5、到文本文件test3-1.txt中。请改正程序中的错误,使其能得到正确的结果。注意:不得增行或删行,也不得更改程序结构。源程序如下:#include void fun(int a)int i;int cnt=0;名师资料总结-精品资料欢迎下载-名师精心整理-第 3 页,共 46 页 -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
6、();for(i=0;i10;i+)printf(%4d,ai);fprintf(%4d,ai);fclose(fp);二、编写程序 test3-2.c(60 分)按要求编写程序:(1)编写函数 fun,其功能是:统计形参s 所指字符串中数字字符出现的次数,并存放在形参 t 所指的变量中。例如:形参 s 所指字符串为:abcdef35agd3khe7,则数字出现的次数为4 次。(2)在 main 函数中,从已有文件test3-2.in中读出一行字符(字符个数不超过 80 个)到字符数组 str 中,调用函数 fun,统计出数字出现的次数,并在屏幕上输出结果。四川省计算机等级考试二级C语言机试题
7、(第二十七次)2009-11-06 16:46 四川省计算机等级考试二级C语言机试题(第二十七次)2009-03-29 16:43:11 (第一套)(60 分钟)名师资料总结-精品资料欢迎下载-名师精心整理-第 4 页,共 46 页 -一、程序调试题(40分)磁盘上有一个名为test1-1.c的 C程序,其功能是:利用折半查找法查找整数m在含有 N个有序整数的一维数组中的位置。若找到,则返回其下标,反之,则返回-1。请更改程序中的错误,使之能输出正确结果。注意:不得增行或删行,也不得更改程序结构。源程序如下:#include stdio.h#define N 10 void fun(int a
8、,int m)int low=0,high=N-1,mid;while(low=high)mid=(low+high)%2;if(mamid)low=mid+1;else return;return-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 分)用指针编程实现:将用户输入的由数字字符和非数字字符组成的字符串(字符个数不超过
9、 256 个)中的数字提取出来,例如:输入“asd123rt456,lg789”,则提取的数字分别是123、456 和 789。将结果显示在屏幕上,同时输出到文件名师资料总结-精品资料欢迎下载-名师精心整理-第 5 页,共 46 页 -test1-2.dat中(要求每个数字一行)。(第二套)(60分钟)一、程序调试题(40分)磁盘上有一个名为 test2-1.c的 C程序,其功能是统计字符串中大写字母的个数。在 main 函数中输入一个字符串(字符个数不超过80 个),并输出统计结果。在UpperNum()函数中统计字符串str 中的大写字母个数,并作为函数值返回。注意:不得增行或删行,也不得
10、更改程序结构。源程序如下:#include stdio.h#include ctype.h int UpperNum(char str)int n,i=0;while(str+i)if(isupper(stri)n+;i+;return i;void main()char str;printf(n Input a string:n);gets(str);printf(nThe Number of Upper Letter is:%dn,UpperNum(str);二、编写程序 test2-2.c(60 分)按要求编写程序:(1)编写一个字符串比较函数mystrcpy,其功能是:对两个字符串进行
11、比较,若这两个字符串相等,则返回0,若这两个字符串不等,则返回它们第一个不同字符的 ASCII 码之差。名师资料总结-精品资料欢迎下载-名师精心整理-第 6 页,共 46 页 -(2)编写 main 函数:从文件 test2-2.dat中读两个字符串分别赋给两个一维字符数组,调用 mystrcpy 函数,输出比较结果。(第三套)(60分钟)一、程序调试题(40分)磁盘上有一个名为test3-1.c的 C程序文件,其功能是:从键盘上输入一个1001000之间的数,找出其中三位数字相等的所有整数并输出。请改正程序中的错误。注意:不得增行或删行,也不得更改程序结构。源程序如下:#include st
12、dio.h#define N 100 int 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+)名师资料总结-精品资料欢迎下载-名师精心整理-第 7 页,共 46 页 -printf(%5d,ai);printf(n);二、编写程序 test3-2.c(60 分)按要求编写程序:(1)编写函数 fun,其功能是:统计形参s 所指字符串中数字字符出现的次数,并存放在形参 t 所指的变量中。例如:形参 s 所指字符串为:abcdef35agd
13、3khe7,则数字出现的次数为4 次。(2)在 main 函数中,从已有文件test3-2.in中读出一行字符(字符个数不超过 80 个)到字符数组 str 中,调用函数 fun,统计出数字出现的次数,并在屏幕上输出结果。(第四套)(60 分钟)一、程序调试题(40分)给定程序 test4-1.c,其功能是:输入一个整数k(2=k=10000),输出它的所有质因子(即所有为素数的因子)。例如,若输入2310,则输出 2、3、5、7、11。请改正程序中的错误,使程序能得出正确结果。注意:不得增行或删行,也不得更改程序结构。源程序如下:#include stdio.h int fun1(int*n
14、)int i;for(i=2;i=n;i+)if!(n%i)return 0;return;void main()int j,k;printf(nPlease enter a integer number 210000:);scanf(%d,k);printf(nThe prime factor(s)of%d is(are):,k);for(j=2;j=k;j+)if(!(k%j)&fun1(j)名师资料总结-精品资料欢迎下载-名师精心整理-第 8 页,共 46 页 -printf(n%4d,j);printf(n);二、编写程序 test4-2.c(60 分)磁盘上已有文件 test4-2.
15、dat,文件中有 3 个字符串,请将 3 个字符串中的小写字母全部转换为大写字母,然后将转换后的结果输出到屏幕上。要求:定义 convert 函数,用于实现小写字母转换成大写字母。在main 函数中完成文件夹的打开和读数据,调用convert 函数,输出转换后的结果。(第五套)(60 分钟)一、程序调试题(40分)给定程序 test5-1.c,其功能是:求出数组中值最大的元素在数组中的下标,并将最大值增添在数组的最后。例如,数组中的数据为:876 675 896 101 301 401 980 431 451 777 输出结果如下:The index of max is:6 The resul
16、t:876 675 896 101 301 401 980 431 451 777 980 请改正程序中的错误,使程序能得出正确结果。、注意:不得增行或删行,也不得更改程序结构。源程序如下:#include stdio.h#define N 80 void fun(int*s,int*t,int k)int i,m;*k=0;m=*s;for(i=1;i(*t-1);i+)if(ms+i)名师资料总结-精品资料欢迎下载-名师精心整理-第 9 页,共 46 页 -m=*(s+i);*k=i;si+1=m;*t+;void main()int aN=876,675,896,101,301,401,
17、980,431,451,777;int i,n=10,mi;fun(aN,&n,&mi);printf(The index of max is:%dn,mi);printf(The result:n);for(i=0;in;i+)printf(%4d,a);二、编写程序 test5-2.c(60 分)用函数调用方式编写程序。要求实现:(1)编写 fun 函数,其功能是计算并比较两个字符串的长度(要求不得使用标准库函数 strlen),返回较长字符串的指针。若两个字符串长度相等,则返回第一个字符串的指针。(2)编写 main 函数,在其中输入两个字符串,打开文件test5-2.dat,将 fun
18、函数计算出的两个字符串长度和返回结果分别显示在屏幕上,同时写入到文件test5-2.dat中。四川省计算机等级考试二级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
19、中。请更改程序中的错误,使程序能得出正确结果。名师资料总结-精品资料欢迎下载-名师精心整理-第 10 页,共 46 页 -注意:不得增行或删行,也不得更改程序结构。源程序如下:#include stdio.h#define N 10 void main()int aN,k,m,r,*t;FILE*fp;fp=fopen(test1-1.dat,w);if(fp=NULL)printf(File can not open!n);exit(0);printf(nInput m:);scanf(%d,m);printf(nInput 10 numbers:n);for(k=0;kN;k+)scanf
20、(%d,a);for(r=0;r0;k-)ak=ak-1;ak=t;for(k=0;k2)printf(paramelers 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(!feo
21、f(f2)|(c=fgetc(f2)!=n)rev();fputc(c,f2);二、编写程序 test2-2.c(60 分)从键盘上输入整数m和 k,将大于且紧靠m的 k 个素数存入数组 xx 中,将结果名师资料总结-精品资料欢迎下载-名师精心整理-第 12 页,共 46 页 -显示在屏幕上。要求:(1)在 num函数中完成找出紧靠m的 k 个素数,并存入数组xx 中。函数 num的定义形式为:void num(int m,int k,int xx)(2)main 函数完成数据的输入和输出。(第三套)(60分钟)一、程序调试题(40分)磁盘上有一个名为test3-1.c的 C程序文件,其中函数
22、 fun 的功能是:找出被 2、3、5 整除时余数均为1 的最小的 10 个自然数,并存放到一个整型数组中。在 main 函数中调用函数 fun,输出最后结果,并将结果输出到文本文件test3-1.txt中。请改正程序中的错误,使其能得到正确的结果。注意:不得增行或删行,也不得更改程序结构。源程序如下:#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
23、)=null)printf(Cannot open the file.n);exit(0);名师资料总结-精品资料欢迎下载-名师精心整理-第 13 页,共 46 页 -fun();for(i=0;i10;i+)printf(%4d,ai);fprintf(%4d,ai);fclose(fp);二、编写程序 test3-2.c(60 分)按要求编写程序:(1)编写函数 fun,其功能是:统计形参s 所指字符串中数字字符出现的次数,并存放在形参 t 所指的变量中。例如:形参 s 所指字符串为:abcdef35agd3khe7,则数字出现的次数为4 次。(2)在 main 函数中,从已有文件test
24、3-2.in中读出一行字符(字符个数不超过 80 个)到字符数组 str 中,调用函数 fun,统计出数字出现的次数,并在屏幕上输出结果。四川省计算机等级考试二级C语言机试题(第二十八次)答案2009-11-06 16:48 四川省计算机等级考试二级C语言机试题(第二十八次)答案2009-03-29 16:44:46 28-1 套 参考答案:一、程序调试题(文件名为 test1-1.c)(40 分)#include stdio.h#define N 10 void main()int aN,k,m,r,*t;/*改为:t*/FILE*fp;fp=fopen(test1-1.dat,w);/*改
25、为:test1-1.dat*/if(fp=NULL)printf(File can not open!n);exit(0);printf(nInput m:);scanf(%d,m);/*改为:&m*/printf(nInput 10 numbers:n);for(k=0;kN;k+)scanf(%d,a);/*改为:a+k*/for(r=0;r0;k-)ak=ak-1;ak=t;/*改为:a0*/for(k=0;kN;k+)printf(%4d,ak);fprintf(fp,%4d,ak);fclose(fp);评分标准:每改对一处得8 分二、编程题(程序文件取名为 test1-2.c)(6
26、0 分)评分标准:1fun 函数编写:1)函数定义正确,能正确的定义和使用返回值 10分2)参数定义、传递正确 10分3)算法正确,能按要求求出所有满足条件的二位数 15 分2main 函数:1)能正确定义数组,并能正确进行输出 15 分2)能正确调用函数 10分参考程序:#include int fun(int a)int i,j=0;for(i=999;i=100;i-)if(i/100-i/10%10=i%10)aj=i;名师资料总结-精品资料欢迎下载-名师精心整理-第 15 页,共 46 页 -j+;return j;void main()int a100;int i,n;n=fun(
27、a);for(i=0;i2)/*改为:*/printf(paramelers missing!n);exit(0);if(f1=fopen(*argv1,w)=NULL)/*改为:argv1*/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();/*去掉 void*/fputc(n,f1);fclose(f1);fclose(f2);void rev(void)char c;if(!feof
28、(f2)|(c=fgetc(f2)!=n)/*|改为:&*/rev();名师资料总结-精品资料欢迎下载-名师精心整理-第 17 页,共 46 页 -fputc(c,f2);/*f2改为:f1*/评分标准:每改对一处得8 分二、编程题(程序文件取名为 test2-2.c)(60 分)评分标准:1、输入、输出方法正确 10分 2、函数定义及参数传递正确 10分3、求素数方法正确 20分 4、将素数正确存入数组xx中 10分5、输出结果正确 10分参考程序:#include void num(int m,int k,int xx)int data=m+1;int half,n=0,i;while(1
29、)half=data/2;for(i=2;ihalf)xxn+=data;名师资料总结-精品资料欢迎下载-名师精心整理-第 18 页,共 46 页 -if(n=k)break;data+;void main()int m,n,xx10000;printf(Enter m,n:);scanf(%d,%d,&m,&n);num(m,n,xx);for(m=0;mn;m+)printf(%d,xxm);printf(n);28-3 套 参考答案:一、程序调试题(文件名为 test3-1.c)(40 分)#include void fun(int a)int i;int cnt=0;for(i=1;c
30、nt10;i+)/*改为:=*/if(i%2=1|i%3=1|i%5=1)/*改为:&*/名师资料总结-精品资料欢迎下载-名师精心整理-第 19 页,共 46 页 -acnt=i;cnt+;void main()int a10;int i;FILE*fp;if(fp=fopen(test3-1.txt,w)=null)/*改为:NULL*/printf(Cannot open the file.n);exit(0);fun();/*改为:fun(a)*/for(i=0;i10;i+)printf(%4d,ai);fprintf(%4d,ai);/*改为:fp,%4d*/fclose(fp);评
31、分标准:每改对一处得8 分二、编程题(程序文件取名为 test3-2.c)(60 分)评分标准:名师资料总结-精品资料欢迎下载-名师精心整理-第 20 页,共 46 页 -1fun 函数编写 40 分:1)函数定义、形参书写正确、有正确的返回值 10 分2)能正确的求出最大值和最小值 20分3)能正确的求出平均分 10 分2main 函数 20 分:1)能正确定义实参一维数组,并能正确的对整型数组进行输入 10 分2)正确调用 fun 函数并输出正确结果 10 分参考程序:#include double fun(int a,int n)int i,max,min;double s=0,aver
32、;max=min=a0;for(i=0;in;i+)s=s+ai;if(maxai)min=ai;aver=(s-max-min)/(n-2);return aver;名师资料总结-精品资料欢迎下载-名师精心整理-第 21 页,共 46 页 -void main()int a100,i,n;double aver;printf(Enter n(n100):);scanf(%d,&n);printf(Enter a0a%d:,n-1);for(i=0;in;i+)scanf(%d,a+i);aver=fun(a,n);printf(aver=%fn,aver);四川省计算机等级考试二级C语言机试
33、题(第二十七次)答案2009-11-06 16:48 四川省计算机等级考试二级C语言机试题(第二十七次)答案2009-03-29 16:43:50 27-1 套 参考答案:一、程序调试题(文件名为 test1-1.c)(40 分)#include stdio.h#define N 10 void fun(int a,int m)/*改为:int*/int low=0,high=N-1,mid;while(low=high)mid=(low+high)%2;/*改为:/*/if(mamid)名师资料总结-精品资料欢迎下载-名师精心整理-第 22 页,共 46 页 -low=mid+1;else
34、return;/*改为:return mid*/return-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);评分标准:每改对一处得8 分二、编程题(程序文件取名为 test1-2.c)(60 分)评分标准:名师资料总结-精品资料欢迎下载-名师精心整理-第 23 页,共 46 页 -1、while 循环编写正确,数字提取正确 30分 2、文件打开、关闭、数据写入正确
35、15 分3、指针定义和使用正确 5分 4、屏幕输出正确 5分 5、程序结构合理 5分参考程序:#include#define LEN 256 void main()char lineLEN,b20,*ptr1,*ptrb;int n=0,j,a50;FILE*fp;printf(Please enter the strings:n);gets(line);ptr1=line;while(*ptr1!=0)ptrb=b;for(j=0;*ptr1=0&*ptr1=9;ptr1+,ptrb+,j+)*ptrb=*ptr1;if(j)*ptrb=0;*(a+n)=atoi(b);n+;if(*ptr
36、1!=0)ptr1+;fp=fopen(test1-2.dat,w);if(fp=NULL)printf(Cannot open file!n);exit(0);printf(Result:n);for(j=0;jn;j+)printf(%10dn,*(a+j);fprintf(fp,%10dn,*(a+j);fclose(fp);27-2 套 参考答案:一、程序调试题(文件名为 test2-1.c)(40 分)名师资料总结-精品资料欢迎下载-名师精心整理-第 24 页,共 46 页 -#include stdio.h#include ctype.h int UpperNum(char str
37、)int n,i=0;/*改为:n=0*/while(str+i)/*改为:*(str+i)*/if(isupper(stri)n+;i+;return i;/*改为:n*/void main()char str;/*改为:str80*/printf(n Input a string:n);gets(str);printf(nThe Number of Upper Letter is:%dn,UpperNum(str);/*改为:str*/评分标准:每改对一处得8 分二、编程题(程序文件取名为 test2-2.c)(60 分)评分标准:1、被调函数编写正确(具体参照程序注释)(30 分)2、文
38、件打开、关闭、数据读入正确(15 分)3、函数调用正确(5 分)4、屏幕输出正确(5 分)5、程序结构合理(5 分)参考程序:#include#include int mystrcmp(char*q1,char*q2)名师资料总结-精品资料欢迎下载-名师精心整理-第 25 页,共 46 页 -int k=0,t;while(*(q1+k)!=0|*(q2+k)!=0)/*5分*/if(*(q1+k)!=*(q2+k)/*10分*/t=*(q1+k)-*(q2+k);break;else t=0;/*5分*/k+;/*5分*/return t;/*5分*/void main()FILE*fp;i
39、nt t;char s120,s220;fp=fopen(test2-2.dat,r);if(fp=NULL)printf(File cannot oepnn);exit(0);fgets(s1,80,fp);名师资料总结-精品资料欢迎下载-名师精心整理-第 26 页,共 46 页 -fgets(s2,80,fp);puts(s1);puts(s2);t=mystrcmp(s1,s2);printf(nThe comparing result of strings is:%dn,t);fclose(fp);27-3 套 参考答案:一、程序调试题(文件名为 test3-1.c)(40 分)#in
40、clude stdio.h#define N 100 int fun(int s,int n)/*改为:*s*/int i,j,k,a,b,c;j=0;for(i=100;i1000)/*改为:while(n1000);*/num=fun(a,n);printf(nnThe result:n);for(i=0;inum;i+)printf(%5d,ai);printf(n);评分标准:每改对一处得8 分二、编程题(程序文件取名为 test3-2.c)(60 分)评分标准:1、被调函数编写正确(具体参照程序注释)(30 分)2、文件打开、关闭、数据读入正确(15 分)3、函数调用正确(5 分)4
41、、屏幕输出正确(5 分)5、程序结构合理(5 分)名师资料总结-精品资料欢迎下载-名师精心整理-第 28 页,共 46 页 -参考程序:#include void fun(char*s,int*t)/*函数定义、形参书写正确10 分*/int i;*t=0;/*5分*/for(i=0;*(s+i)!=0;i+)/*算法正确,指针使用正确 15 分*/if(*(s+i)=0&*(s+i)=9)(*t)+;void main()char str80;FILE*fp;int i=0,count;if(fp=fopen(test3-2.in,r)=NULL)printf(Cannot open fil
42、e!n);exit(0);while(!feof(fp)stri=fgetc(fp);i+;stri=0;名师资料总结-精品资料欢迎下载-名师精心整理-第 29 页,共 46 页 -fclose(fp);fun(str,&count);printf(Count=%dn,count);第 27-4 套 参考答案一、程序调试题(文件名为 test4-1.c)(40 分)#include stdio.h int fun1(int*n)/*改为:n*/int i;for(i=2;i=n;i+)/*改为:*/if!(n%i)/*改为:(!(n%i)*/return 0;return;/*改为:retur
43、n 1*/void main()int j,k;printf(nPlease enter a integer number 210000:);scanf(%d,k);/*改为:&k*/printf(nThe prime factor(s)of%d is(are):,k);for(j=2;j=k;j+)名师资料总结-精品资料欢迎下载-名师精心整理-第 30 页,共 46 页 -if(!(k%j)&fun1(j)printf(n%4d,j);printf(n);评分标准:每改对一处得8 分二、编程题(程序文件取名为 test4-2.c)(60 分)评分标准:1、被调函数编写正确(具体参照程序注释)
44、(30 分)2、文件打开、关闭、数据读入正确(15 分)3、函数调用正确(5 分)4、屏幕输出正确(5 分)5、程序结构合理(5 分)参考程序:#include void convert(char str)/*函数定义、形参书写正确10 分*/int i=0;while(stri!=0)/*5分*/if(stri=a&stri=z)/*5分*/stri-=32;/*5分*/i+;/*5分*/void main()FILE*fp;名师资料总结-精品资料欢迎下载-名师精心整理-第 31 页,共 46 页 -char str100;if(fp=fopen(test4-2.dat,r)=NULL)pr
45、intf(Cannot open file!n);exit(0);while(!feof(fp)fgets(str,81,fp);convert(str);puts(str);fclose(fp);第 27-5 套 参考答案一、程序调试题(文件名为 test5-1.c)(40 分)#include stdio.h#define N 80 void fun(int*s,int*t,int k)/*改为:*k*/int i,m;*k=0;m=*s;for(i=1;i(*t-1);i+)if(ms+i)/*改为:*(s+i)*/名师资料总结-精品资料欢迎下载-名师精心整理-第 32 页,共 46 页
46、 -m=*(s+i);*k=i;si+1=m;*t+;/*改为:(*t)*/void main()int aN=876,675,896,101,301,401,980,431,451,777;int i,n=10,mi;fun(aN,&n,&mi);/*改为:a*/printf(The index of max is:%dn,mi);printf(The result:n);for(i=0;in;i+)printf(%4d,a);/*改为:ai*/评分标准:每改对一处得8 分二、编程题(程序文件取名为 test4-2.c)(60 分)评分标准:1、被调函数编写正确(具体参照程序注释)(30 分
47、)2、文件打开、关闭、数据读入正确(15 分)3、函数调用正确(5 分)4、屏幕输出正确(5 分)5、程序结构合理(5 分)参考程序:名师资料总结-精品资料欢迎下载-名师精心整理-第 33 页,共 46 页 -#include#define N 80 char*fun(char*s,char*t)/*函数定义、形参书写正确10分*/char*p,*ss,*tt;ss=s;tt=t;while(*ss)n+;ss+;/*5分*/while(*tt)m+;tt+;/*5分*/if(n=m)/*5分*/p=s;else p=t;return p;/*5分*/void main()char aN,bN
48、;FILE*fp;printf(Input 1th string:n);gets(a);printf(Input 2th string:n);名师资料总结-精品资料欢迎下载-名师精心整理-第 34 页,共 46 页 -gets(b);fp=fopen(test5-2.dat,w);if(fp=NULL)printf(Cannot open file!n);exit(0);printf(The result is:%sn,fun(a,b);printf(The length of two strings is:%d,%dn,n,m);fprintf(fp,The result is:%sn,fu
49、n(a,b);fprintf(fp,The length of two strings is:%d,%dn,n,m);fclose(fp);四川省计算机等级考试二级C语言机试题(第二十六次)答案2009-11-06 16:49 四川省计算机等级考试二级C语言机试题(第二十六次)答案2009-03-29 16:42:42 26-1 套 参考答案:一、程序调试题(文件名为 test1-1.c)(40 分)#include void selectsort(int*a,int n)int i,j,p,temp;for(i=0;in-1;i+)p=i;名师资料总结-精品资料欢迎下载-名师精心整理-第 3
50、5 页,共 46 页 -for(j=1;jaj)/*改为:*/p=j;temp=ap;ap=aj;/*改为:ai*/aj=temp;/*改为:ai*/void main()int x8,i;for(i=0;i8;i+)xi=rand()%30;selectsort(x,8);/*改为:x */for(i=0;i8;i+)printf(%5d,xi);printf(n);评分标准:每改对一处得8 分二、编程题(程序文件取名为 test1-2.c)(60 分)参考程序:#include#define MAX 10 名师资料总结-精品资料欢迎下载-名师精心整理-第 36 页,共 46 页 -stru