- 0
- 0
- 约2.74千字
- 约 2页
- 2026-02-17 发布于四川
- 举报
江苏省高等学校非计算机专业学生
计算机基础知识和应用能力等级考试上机试卷(2010年春)
二级C语言(试卷代号C02)
(本试卷完成时间70分钟)
一、改错题(16分)
【程序功能】
先将一个正整数转换为十进制表示的数字字符串,再将千位分隔符到该字符串
中,最后输出该字符串。
【测试数据及运行结果】
输入:1234567
输出:1234567
1,234,567
【含有错误的源程序】
#includestdio.h
#includestring.h
voidltoa(chars[],longnum)
{longn=num,i=0;
printf(%ld\n,num);
while(n)
{i++;n/=10;}
s[i]\0;
while(num)
{s[--i]=num%10+0;num/=10;
}
}
voidinsert(chars[])
{charj,k,t;
t=j=strlen(s);
while(j3)
{j=j-3;
for(k=t;kj;k--)
s[k]=s[k+1];
s[j],;
t++;
}
}
voidmain()
{staticchars[20];longnum;
scanf(%d,num);
ltoa(s,num);
insert(s,num);
puts(s);
getch();
}
【要求】
1.将上述程序录入到文件myf1.c中,根据题目要求及程序中语句之间的逻辑关系对程序
中的错误进行修改。
2.改错时,可以修改语句中的一部分内容,调整语句次序,增加少量的变量说明或编译
预处理命令,但不能增加其它语句,也不能删去整条语句。
3.改正后的源程序(文件名myf1.c)保存在T:盘根目录中供阅卷使用,否则不予评分。
二、编程题(24分)
【程序功能】
一个整数的“真因子”是指包括1但不包括整数自身的因子。
“真因子和数列”是指取一个正整数作为数列首项,首项的每一项都是前一项的真
因子之和。真因子和数列有几种可能的形式,其中的一种形式是以1结束。例如,取10作
为数列首项,10的真因子和为8(1+2+5),8的真因子和为7(1+2+4),7的真因子和为1。
因此,用10生成的真因子和数列(10,8,7,1)以1结束。
编写程序分别以在给定范围内取值的多个正整数作为数列首项,生成多个与其对应的
“真因子和数列”,这些数列均以1结束。
【编程要求】
1.编写函数intsequ(intm1,intm2,intnum[][10])实现以下功能:依次取[m1,m2]范围内每
个正整数作为数列首项可生成m2-m1+1个真因子和数列,将其中不超过10项且以
原创力文档

文档评论(0)