2015上海计算机等级考试二级C(B卷)
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
2015二级C( B卷) 一、单项选择题(答案在最后)
二、填空题(答案在最后)
程序功能:输入一个正整数,将其各位上为偶数的数字去除,剩余的数按原来从高位到低位的顺序组成一个新的数,并将其输出到文件out1.txt中。例如,输入:134456779,输出到文件:135779。
代码:
#include
int main(void)
{
long n;
int k,i=1;
int _____(1)_____;
FILE *fp;
fp=fopen("out1.txt","w");
scanf("%ld",&n);
while ( _____(2)_____ )
{
k = _____(3)_____;
n = n/10;
if (k%2 == 1)
{
z = z+k*i;
i = 10*i;
}
}
fprintf(fp,"%d\n",z);
_____(4)_____; /* 关闭文件 */
return 0;
}
程序功能:从键盘输入一个字符串和一个字符,统计字符串中该字符出现的次数,并输出结果。例如,输入字符串:aBEddfghDdd,输入字符:d,输出结果:4。代码:
#include
int num(char str[])
{
char ch;
int i=0,count=0;
printf("输入字符:");
scanf("%c",&ch);
while( _____(1)_____ )
{
if( _____(2)_____ )
count++;
i++;
}
return count;
}
int main(void)
{
char str[80];
int n;
printf("输入字符串:");
gets( _____(3)_____ );
n = _____(4)_____;
printf("输出结果: %d\n",n);
return 0;
}
三、操作题
(一)程序调试题(3小题,第1、2小题各3处错,第3小题4处错,每错误点3分,共30分)1. 程序调试题1
调试要求:下列程序(C:\KS\B_2_1.c)包含3个错误,请按题中的功能要求,调试并修改该程序(在所修改语句后加/*******/字样的注释),使其运行能得到正确的结果。将程序结果(包括B_2_1.c文件和B_2_1.EXE文件)保存到目录C:\KS\中。
功能说明:输入某人某一个月的月收入(在2500元到8000元之间),计算并输出该月份他应缴的个人所得税。个人所得税采用分段计算方法计算,具体为:月收入不超过3500元(含3500元,以下同)免税;月收入超过3500元但不超过5000元的,超过部分的税率为3%;月收入超过5000元但不超过8000元的,超过5000元部分的税率为10%。
运行示例:
输入:请输入月收入: 7000
输出:个人所得税为: 245.00
说明:月收入7000元中3500元免税,1500元的税利为3%,2000元的税利为10%。
含错误源程序:
#include
int main(void)
{
float salary,tax;
printf("请输入月收入: ");
scanf("%d", &salary);
if (salary<=3500) tax=0
else if (salary<=5000) tax=(salary-3500)*0.03;
else tax=1500*0.03+(salary-3500)*0.1;
printf("个人所得税为: %.2f\n", tax);
return 0;
}
参考答案:
#include
int main(void)
{
float salary,tax;
printf("请输入月收入: ");
scanf("%f", &salary); /*******/
if (salary<=3500) tax=0; /*******/
else if (salary<=5000) tax=(salary-3500)*0.03;
else tax=1500*0.03+(salary-5000)*0.1; /*******/
printf("个人所得税为: %.2f\n", tax);
return 0;
}
2. 程序调试题2
调试要求:下列程序(C:\KS\B_2_2.c)包含3个错误,请按题中的功能要求,调试并修改该程序(在所修改语句后加/*******/字样的注释),使其运行能得到正确的结果。将程序结果(包括B_2_2.c文件和B_2_2.EXE文件)保存到目录C:\KS\中。
功能说明:自定义一个表示分数的结构体类型,在主函数中输入两个分数,通过调用函数计算两个分数的和,最后在主函数中输出计算的结果(不化简)。
运行示例:
含错误源程序:
#include
struct Frac
{ int Mol;
int Den;