您好,欢迎访问三七文档
当前位置:首页 > 临时分类 > 2012上海二级c语言C卷操作题参考答案
1/5C卷1.程序调试题1调试要求:下列程序包含2个错误,请按题中的功能要求,调试并修改该程序(在所修改语句后加/*******/字样的注释),使其运行能得到正确的结果。将结果(包括C_2_1.C文件和C_2_1.EXE文件)保存到目录C:\KS\中。功能说明:程序从键盘输入8个正整数,输出其中偶数的个数。如输入:12345678则输出:4#includestdio.hintmain(){inta[8],i,c;c=0;for(i=0;i8;i++){scanf(%d,&a[i]);/*******//*a[i]前缺&*/if(a[i]%2==0)c++;/*******//*=0改为==0*/}printf(%d\n,c);getchar();/*本句无错;暂停程序,按任意键继续*/}测试数据:632896543935输出数据:32.程序调试题2调试要求:下列程序包含3个错误,请按题中的功能要求,调试并修改该程序(在所修改语句后加/*******/字样的注释),使其运行能得到正确的结果。将结果(包括C_2_2.C文件和C_2_2.EXE文件)保存到目录C:\KS\中。功能说明:程序从键盘输入5个字符串(每个字符串长度不超过80,且字符串中不含有空格),程序找出其中最大的字符串放到max中,最后输出该最大的字符串。如输入:BASICJavaC++PascalPHP则输出:Pascal2/5#includestdio.h#includestring.hintmain(){inti;chars[81],max[81]={'\0'};for(i=0;i5;i++){gets(s);/*******//*&s改为s*/if(strcmp(s,max)0)/*******//*strcmp(s,max)后应加0*/strcpy(max,s);}puts(max);/*******//*max[81]改为max*/getchar();/*本句无错;暂停程序,按任意键继续*/}测试数据:MondayTuesdayWednesdayThursdayFriday输出数据:Wednesday3.程序调试题3调试要求:下列程序包含3个错误,请按题中的功能要求,调试并修改该程序(在所修改语句后加/*******/字样的注释),使其运行能得到正确的结果。将结果(包括C_2_3.C文件和C_2_3.EXE文件)保存到目录C:\KS\中。功能说明:函数aver的功能是计算n个整数去掉一个最大值和一个最小值后的平均值,程序从键盘输入8个整数,通过调用函数aver计算这8个整数去掉一个最大值和一个最小值后的平均值,然后输出(保留一位小数)。如输入:12345678则输出:average=4.5#includestdio.hfloataver(int*a,intn){inti,max,min;floats;s=max=min=a[0];for(i=1;in;i++)/*******//*i=0改为i=1,或上句改为s=0;max=min=a[0];*/3/5{s+=a[i];if(a[i]max)max=a[i];if(a[i]min)min=a[i];/*******//*min改为min*/}return(s-max-min)/(n-2);}intmain(){intb[8],i;for(i=0;i8;i++)scanf(%d,b+i);printf(average=%.1f\n,aver(b,8));/*******//**b改为b*/getchar();/*本句无错;暂停程序,按任意键继续*/}测试数据:23456789输出数据:average=5.51.编程题1编程要求:请按题中的功能要求,编写程序并能得到正确的结果。将结果(包括C_4_1.C文件和C_4_1.EXE文件)保存到目录C:\KS\中。程序功能:从键盘上输入整数n和m(设2≤n≤12,2≤m≤39),按以下格式输出以字符“C”组成的2n行2m+1列“上”字图案,图案及坐标计算如图所示。CCCCCCCCCCCCCCCCCCCCC↑↑↑↑←第0行←第n-1行←第2*n-1行第0列第m列第m+(m+1)/2列第2*m列程序运行两次,分别输入“45”和“38”时的运行结果如上:参考程序C_4_1.C,共15行代码#includestdio.hmain(){4/5inti,j,n,m;scanf(%d%d,&n,&m);for(i=0;i2*n;i++){for(j=0;j=2*m;j++)if(i==2*n-1||j==m||(i==n-1)&&(j=m)&&(j=m+(m+1)/2))printf(C);elseprintf();printf(\n);}}测试数据:46运行结果:2.编程题2编程要求:请按题中的功能要求,编写程序并能得到正确的结果。将结果(包括C_4_2.C文件和C_4_2.EXE文件)保存到目录C:\KS\中。功能说明:编写程序,实现以下成绩处理功能(输出格式参见示例):(1)输入10个整数;(2)从大到小排序;(3)成绩排名第1名为一等奖,第2、3名为二等奖,第4、5、6名为三等奖,输出各等奖学金获奖者的最低分数。运行示例:输入(输入10个整数成绩):190188150158199155175160170180输出(一等奖1人,二等奖2人,三等奖3人):Award1:199Award2:188Award3:170参考程序C_4_2.C,共18行代码#includestdio.hmain(){CCCCCCCCCCCCCCCCCCCCCCC5/5inta[100],i,j,t;for(i=0;i10;i++)scanf(%d,&a[i]);for(i=0;i9;i++)for(j=0;j9-i;j++)if(a[j]a[j+1]){t=a[j];a[j]=a[j+1];a[j+1]=t;}printf(Award1:%d\n,a[0]);printf(Award2:%d\n,a[2]);printf(Award3:%d\n,a[5]);}测试数据:178190165177169155148176159184运行结果:Award1:190Award2:178Award3:169
本文标题:2012上海二级c语言C卷操作题参考答案
链接地址:https://www.777doc.com/doc-3026056 .html