C语言模拟.docx
- 文档编号:30381837
- 上传时间:2023-08-14
- 格式:DOCX
- 页数:17
- 大小:289.83KB
C语言模拟.docx
《C语言模拟.docx》由会员分享,可在线阅读,更多相关《C语言模拟.docx(17页珍藏版)》请在冰豆网上搜索。
C语言模拟
(一)程序调试题(3小题,第1、2小题各3处错,第3小题4处错,每改正1处得3分,共30分)
1.程序调试题1
调试要求:
下列程序包含3个错误,请按题中的功能要求,调试并修改该程序(在所修改语句后加/***/字样的注释),使其运行能得到正确的结果。
将结果(包括B_3_1.C文件和B_3_1.EXE文件)保存到目录C:
\KS\中。
功能说明:
程序的功能是输入一个正整数,判断该数从高位到低位各位数字是否按值从小到大排列并输出相应提示。
例如,输入12234,则输出各位数字是从小到大排列。
又如,输入12354,则输出各位数字不是从小到大排列。
带错误原程序(见C:
\KS\B_3_1.C):
#include
intmain()
{intn,k,a;
printf("请输入一个正整数:
");
scanf("%d",n);
k=1;
do{
a=n%10;
n=n/10;
if(n%10<=a)k=0;
}while(n!
=0);
if(k=1)
printf("各位数字是从小到大排列\n");
else
printf("各位数字不是从小到大排列\n");
return0;
}
2.程序调试题2
调试要求:
下列程序包含3个错误,请按题中的功能要求,调试并修改该程序(在所修改语句后加/***/字样的注释),使其运行能得到正确的结果。
将结果(包括B_3_2.C文件和B_3_2.EXE文件)保存到目录C:
\KS\中。
功能说明:
输入一个以回车符结束的字符串(少于30个字符),若其中的第偶数个字符是小写英文字母,则转换成对应的大写英文字母,最后输出处理后的字符串。
例如输入:
jdk-7u25-win7<回车>,则输出:
jDk-7U25-WiN7。
带错误原程序(见C:
\KS\B_3_2.C):
#include
#include
intmain()
{charstr[30];
inti,n;
printf("请输入一个字符串:
");
gets(&str);
n=strlen(str);
for(i=0;i if(str[i]>='a'&&str[i]<='z') str[i]=str[i]+('a'-'A'); puts(str); return0; } 3.程序调试题3 调试要求: 下列程序包含4个错误,请按题中的功能要求,调试并修改该程序(在所修改语句后加/***/字样的注释),使其运行能得到正确的结果。 将结果(包括B_3_3.C文件和B_3_3.EXE文件)保存到目录C: \KS\中。 功能说明: 以下程序的数组t中存放了某城市7月15日到8月15日共32天每一天的日最高气温,程序的功能是统计并输出最高温度达到40℃或以上的超高温天的天数,以及最高温度在35℃或以上的连续高温天最多有多少天。 针对程序中给出的原始数据,程序应输出: 最高温度达到40℃或以上的超高温天有6天 最高温度在35℃或以上的连续高温天最多有12天 带错误原程序(见C: \KS\B_3_3.C): #include intfun(inta[],intn,int*p) {inti,c=d40=d=0; for(i=1;i {if(a[i]>=35) {c++; if(c>d)d=c; if(a[i]>=40)d40++; } elsec=0; } p=d; returnd40; } intmain() {intt[32]={40,36,34,35,36,37,36,37,38,40,39, 38,37,36,34,36,37,38,36,34,36, 37,38,39,40,40,41,40,39,38,37,36}; intd40,d; d40=fun(t,32,d); printf("最高温度达到40℃或以上的超高温天有%d天\n",d40); printf("最高温度在35℃或以上的连续高温天最多有%d天\n",d); return0; } (二)编程题(2小题,共35分,其中第1小题15分,第2小题20分) 1.编程题1 编程要求: 请按题中的功能要求,编写程序并能得到正确的结果。 将结果(包括B_4_1.c文件和B_4_1.EXE文件)保存到目录C: \KS\中。 程序功能: 输入整数n(设1000≤n≤9999),将n按十进制位分解为各乘式的累加和,格式参见示例,不输出系数为0的乘式。 运行示例1: 输入: 1234 输出: 1234=1*1000+2*100+3*10+4*1 运行示例2: 输入: 2030 输出: 2030=2*1000+3*10 2.编程题2 编程要求: 请按题中的功能要求,编写程序并能得到正确的结果。 将结果(包括B_4_2.c文件和B_4_2.EXE文件)保存到目录C: \KS\中。 程序功能: 按示例格式完成以下要求。 (1)输入10个整数,保存在数组中。 (2)计算并输出10个整数的最小值(注: 数组中可能存在多个最小值)。 (3)输出数组中每个最小值的下一个元素及其下标(如果数组的最后一个元素正好为最小值,不输出该元素的下一个元素)。 (4)计算并输出上述元素的平均值(保留小数点后一位小数,如果数组只有一个最小值且正好是最后一个元素,不输出平均值) 运行示例1: 输入: 9020010361 输出: min=0,a[2]=2,a[4]=0,a[5]=1,a[7]=3,ave=1.5 说明: 10个元素的最小值为0,共出现4次,元素0的下一个元素依次为2、0、1、3,这4个元素的平均值为1.5。 运行示例2: 输入: 60398190603990707839 输出: min=39,a[2]=81,a[6]=90,ave=85.5 说明: 10个元素的最小值为39,共出现3次,元素39的下一个元素依次为81、90(最后一个39不存在下一个元素),81与90的平均值为85.5。 运行示例3: 输入: 902001036-1 输出: min=-1 说明: 最小值为-1,是最后一个元素且只出现一次,不存在下一个元素,也没有平均值。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言 模拟
![提示](https://static.bdocx.com/images/bang_tan.gif)