2015-上海计算机等级考试二级C(B卷).docx
文本预览下载声明
PAGE \* MERGEFORMAT1
2015二级C( B卷)
一、单项选择题(答案在最后)
二、填空题(答案在最后)
程序功能:输入一个正整数,将其各位上为偶数的数字去除,剩余的数按原来从高位到低位的顺序组成一个新的数,并将其输出到文件out1.txt中。例如,输入:134456779,输出到文件:135779。
代码:
#include stdio.h
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 stdio.h
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 stdio.h
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 stdio.h
int main(void)
{
float salary,tax;
printf(请输入月收入: );
scanf(%f, salary); /*******/
if (salary=3500) tax=0; /
显示全部