《计算机等级考试二级《C语言程序设计》考试上机试题.doc》由会员分享,可在线阅读,更多相关《计算机等级考试二级《C语言程序设计》考试上机试题.doc(11页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、2002年4月计算机等级考试二级C语言上机试题/*程序修改题1给定程序MODI1.C中函数fun的功能是:先从键盘上输入一个3行3列矩阵的各个元素的值,然后输出主对角线元素之和。请改正函数fun中的错误或在横线处填上适当的内容并把横线删除,使它能得出正确的结果。注意:不要改动main函数,不得增行或删行,也不得更改程序的结构!*/#includeintfun()inta33,sum;inti,j;/*found*/sum=0;/_;for(i=0;i3;i+)for(j=0;j3;j+)/*found*/scanf(%d,&aij);/scanf(%d,aij);for(i=0;i3;i+)s
2、um=sum+aii;printf(Sum=%dn,sum);main()fun();/*编程题编写程序,实现矩阵(3行3列)的转置(即行列互换)例如,输入下面的矩阵:100200300400500600700800900程序输出:100400700200500800300600900注意:部分源程序在文件PROG1.C中。请勿改动主函数main和其它函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。*/#include#includeintfun(intarray33)/inti,j,t;for(i=0;i3;i+)for(j=0;ji;j+)t=arrayij;arrayij
3、=arrayji;arrayji=t;/main()inti,j;intarray33=100,200,300,400,500,600,700,800,900;clrscr();for(i=0;i3;i+)for(j=0;j3;j+)printf(%7d,arrayij);printf(n);fun(array);printf(Convertedarray:n);for(i=0;i3;i+)for(j=0;j3;j+)printf(%7d,arrayij);printf(n);NONO();NONO()/*请在此函数内打开文件,输入测试数据,调用fun函数,输出数据,关闭文件。*/inti,j
4、,array33;FILE*rf,*wf;rf=fopen(b0103.in,r);wf=fopen(b0103.out,w);for(i=0;i3;i+)for(j=0;j3;j+)fscanf(rf,%d,&arrayij);fun(array);for(i=0;i3;i+)for(j=0;j3;j+)fprintf(wf,%7d,arrayij);fprintf(wf,n);fclose(rf);fclose(wf);/*程序修改题2给定程序MODI1.C中函数fun的功能是:将从键盘上输入的每个单词的第一个字母转换为大写字母,输入时各单词必须用空格隔开,用.结束输入。请改正程序中的错误
5、,使程序能输出正确的结果。注意:不要改动main函数,不得增行或删行,也不得更改程序的结构!*老王注:本类有输出结果的程序修改题,在评分时先看结果,如果*结果正确,则直接给分;结果不正确或无结果,再一个错*一个错评分。此法并不适用所有类似题。*/#includeintfun(char*c,intstatus)/*found*/if(*c=)return1;/if(c=)return1;elseif(status&*c=a)/*found*/*c+=A-a;/c+=A-a;return0;main()intflag=1;charch;printf(请输入一字符串,用点号结束输入!n);doch=
6、getchar();flag=fun(&ch,flag);putchar(ch);while(ch!=.);printf(n);NONO();NONO()/*请在此函数内打开文件,输入测试数据,调用fun函数,输出数据,关闭文件。*/chars181,ch;inti,flag=1;FILE*rf,*wf;rf=fopen(g02.in,r);wf=fopen(g02.out,w);fgets(s1,80,rf);for(i=0;istrlen(s1);i+)ch=s1i;flag=fun(&ch,flag);s1i=ch;fprintf(wf,%s,s1);fclose(rf);fclose(
7、wf);/*G02.IN内容:keysinindexesallowyouquickaccesstospecificrecordsanddefine*/*G02.OUT内容:KeysInIndexesAllowYouQuickAccessToSpecificRecordsAndDefine*/*编程题程序的功能是:把20个随机数存入一个数组,然后输出该数组中的最小值。其中确定最小值的下标的操作在fun函数中实现,请给出该函数的定义。注意:部分源程序在文件PROG1.C中。请勿改动主函数main和其它函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。*/*老王注:本题考生可以一字不动
8、,只要按Ctrl+F9运行一下,即可得38分,费去m牛n虎之力正确编程,不过多得2分而已!*/#include#include#defineVSIZE20intvectorVSIZE;intfun(intlist,intsize)/inti,min=0;for(i=1;ilisti)min=i;returnmin;/main()inti;clrscr();for(i=0;ivectori=rand();printf(Vector%d=%6dn,i,vectori);i=fun(vector,VSIZE);printf(nMininum:Vector%d=%6dn,i,vectori);NONO
9、();NONO()/*请在此函数内打开文件,输入测试数据,调用fun函数,输出数据,关闭文件。*/inti;FILE*fp;fp=fopen(b0203.out,w);for(i=0;ii=fun(vector,VSIZE);fprintf(fp,%dn,vectori);fclose(fp);/*b0203.out内容:34613010982109011656711717595641522948311269004145583571228791849213605412267212246325047130*/程序修改题3code:-/*给定程序MODI1.C中函数fun的功能是:计算整数n的阶乘
10、。请改正程序中的错误或在横线处填上适当的内容并把横线删除,使它能计算出正确的结果。注意:不要改动main函数,不得增行或删行,也不得更改程序的结构!*/#includestdio.hdoublefun(intn)doubleresult=1.0;while(n1&n170)/*found*/result*=n-;/result*=-n;/*found*/returnresult;/return_;main()intn;clrscr();printf(Enteraninteger:);scanf(%d,&n);printf(nn%d!=%lgnn,n,fun(n);NONO();NONO()/*
11、请在此函数内打开文件,输入测试数据,调用fun函数,输出数据,关闭文件。*/intn,i;FILE*rf,*wf;rf=fopen(g03.in,r);wf=fopen(g03.out,w);for(i=1;i=10;i+)fscanf(rf,%d,&n);fprintf(wf,%lgn,fun(n);fclose(rf);fclose(wf);-/*g03.in文件内容如下:58116153118232937*/*g03.out文件内容如下:120403203.99168e+077201.30767e+128.22284e+336.40237e+152.5852e+228.84176e+30
12、1.37638e+43*/编程题code:-/*编写函数fun,函数的功能是:从字符串中删除指定的字符。同一字母的大、小写按不同字符处理。若程序执行时输入字符串为:turbocandborlandc+从键盘上输入字符:n,则输出后变为:turbocadborladc+如果输入的字符在字符串中不存在,则字符串照原样输出。注意:部分源程序在文件PROG1.C中。请勿改动主函数main和其它函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。*/#include#includeintfun(chars,intc)/char*q=s;for(;*q;q+)if(*q!=c)*(s+)=*q
13、;*s=0;/main()staticcharstr=turbocandborlandc+;charch;clrscr();printf(原始字符串:%sn,str);printf(输入一个字符:);scanf(%c,&ch);fun(str,ch);printf(str=%sn,str);NONO();NONO()/*请在此函数内打开文件,输入测试数据,调用fun函数,输出数据,关闭文件。*/FILE*rf,*wf;chars81,ch,w;intlen;rf=fopen(b0303.in,r);wf=fopen(b0303.out,w);fgets(s,80,rf);fscanf(rf,%c,&ch);len=strlen(s)-1;w=slen;if(w=n|w=0x1a)slen=0;fun(s,ch);fprintf(wf,%s,s);fclose(rf);fclose(wf);-/*b0303.in文件内容如下:Youcanspecifythattheprimaryindexisinrecordnumbersequence.t*/*b0303.out文件内容如下:Youcanspecifyhaheprimaryindexisinrecordnumbersequence.*/