您好,欢迎访问三七文档
当前位置:首页 > 临时分类 > 2012上海二级c语言D卷操作题参考答案
1/5D卷1.程序调试题1调试要求:下列程序包含2个错误,请按题中的功能要求,调试并修改该程序(在所修改语句后加/*******/字样的注释),使其运行能得到正确的结果。将结果(包括D_2_1.C文件和D_2_1.EXE文件)保存到目录C:\KS\中。功能说明:程序从键盘输入8个整数,统计并输出其中数值在70~80之间(含70和80)的数的个数。如输入:2371568594786380则输出:3#includestdio.hintmain(){inta[8],i,c;c=0;for(i=0;i8;i++){scanf(%d,&a[i]);/*******//*sanf改为scanf*/if(70=a[i]&&a[i]=80)c++;/*******//*and改为&&*/}printf(%d\n,c);getchar();/*本句无错;暂停程序,按任意键继续*/}测试数据:7273748586879899输出数据:32.程序调试题2调试要求:下列程序包含3个错误,请按题中的功能要求,调试并修改该程序(在所修改语句后加/*******/字样的注释),使其运行能得到正确的结果。将结果(包括D_2_2.C文件和D_2_2.EXE文件)保存到目录C:\KS\中。功能说明:程序从键盘输入一个字符串s(长度不超过80),然后用冒泡法将s中下标值为偶数的元素按照字符顺序从小到大排序,其它元素不变,最后输出排序后的字符串。如输入:2d4a3b1c则输出:1d2a3b4c#includestdio.h#includestring.hintmain(){2/5chars[81],t;/*******//*s[]改为s[81]*/inti,j,k;gets(s);k=strlen(s);for(i=0;i=k-2;i+=2)for(j=0;j=k-3-i;j+=2)/*******//*j++改为j+=2*/if(s[j]s[j+2]){t=s[j];s[j]=s[j+2];s[j+2]=t;}/*******//*=tt改为=t*/puts(s);getchar();/*本句无错;暂停程序,按任意键继续*/}测试数据:b3a1d4c2输出数据:a3b1c4d23.程序调试题3调试要求:下列程序包含3个错误,请按题中的功能要求,调试并修改该程序(在所修改语句后加/*******/字样的注释),使其运行能得到正确的结果。将结果(包括D_2_3.C文件和D_2_3.EXE文件)保存到目录C:\KS\中。功能说明:函数secondary_max的功能是在n个整数中找出次大值,程序从键盘输入8个整数,通过调用函数secondary_max找出这8个整数中的次大值,然后输出。如输入:7123568594786380则输出:85#includestdio.hintsecondary_max(inta[],intn){inti,max1,max2;max1=a[0];max2=a[1];if(max1max2){i=max1;max1=max2;max2=i;}/*******//*原max2=max1*/for(i=2;in;i++){if(a[i]max1){max2=max1;max1=a[i];}/*******//*原max1=max2*/elseif(a[i]max2)max2=a[i];}returnmax2;}intmain(){intb[8],i;3/5for(i=0;i8;i++)scanf(%d,b+i);/*******//*b++改为b+i或&b[i]*/printf(average=%d\n,secondary_max(b,8));getchar();/*本句无错;暂停程序,按任意键继续*/}测试数据:7273748586879899输出数据:98或者average=981.编程题1编程要求:请按题中的功能要求,编写程序并能得到正确的结果。将结果(包括D_4_1.C文件和D_4_1.EXE文件)保存到目录C:\KS\中。程序功能:从键盘上输入整数m和n(设1≤m≤10,2≤n≤20),按以下格式输出以字符“^”和“=”组成的3m列n行的笑脸图案,当m,n分别是4,3时,图案及坐标计算如下图所示。^^^^^^^^====←←第1行第n行m个^m个^m个=程序运行两次,分别输入“43”和“24”时的运行结果如下:参考程序D_4_1.C,共20行代码#includestdio.hmain(){inti,m,n;scanf(%d%d,&m,&n);for(i=0;im;i++)printf(^);for(i=0;im;i++)printf();for(i=0;im;i++)printf(^);4/5printf(\n);for(i=0;in-2;i++)printf(\n);for(i=0;im;i++)printf();for(i=0;im;i++)printf(=);printf(\n);}测试数据:53运行结果:2.编程题2编程要求:请按题中的功能要求,编写程序并能得到正确的结果。将结果(包括D_4_2.C文件和D_4_2.EXE文件)保存到目录C:\KS\中。功能说明:编写程序,实现以下整数处理功能:(1)输入10个整数;(2)输出其中只出现一次的整数。运行示例:输入(输入10个整数):30301002011-802011200-802011-80输出(整数100与200只出现一次,其他整数出现多次):100200参考程序D_4_2.C,共16行代码#includestdio.hmain(){inta[10],i,j,ct;for(i=0;i10;i++)scanf(%d,&a[i]);for(i=0;i10;i++){ct=0;for(j=0;j10;j++)if(a[i]==a[j])ct++;^^^^^^^^^^=====5/5if(ct==1)printf(%d,a[i]);}}测试数据:182828-37-98-3788888879运行结果:18-9879
本文标题:2012上海二级c语言D卷操作题参考答案
链接地址:https://www.777doc.com/doc-3026058 .html