1、12015 二级 C( B 卷)一、单项选择题(答案在最后)234567二、填空题(答案在最后)程序功能:输入一个正整数,将其各位上为偶数的数字去除,剩余的数按原来从高位到低位的顺序组成一个新的数,并将其输出到文件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“,while ( _(2)_ ) k = _(3)_; n = n/10;if (k%2 = 1)z = z+k
2、*i; i = 10*i;8fprintf(fp,“%dn“,z);_(4)_; /* 关闭文件 */ return 0;程序功能:从键盘输入一个字符串和一个字符,统计字符串中该字符出现的次数,并输出结果。例如,输入字符串:aBEddfghDdd,输入字符:d,输出结果:4。代码:#include int num(char str)char ch;int i=0,count=0;printf(“输入字符:“);scanf(“%c“,while( _(1)_ ) if( _(2)_ ) count+;9i+;return count;int main(void)char str80;int n;
3、printf(“输入字符串:“);gets( _(3)_ ); n = _(4)_; printf(“输出结果: %dn“,n);return 0;三、操作题(一)程序调试题(3小题,第1、2小题各3处错,第3小题4处错,每错误点3分,共30分)1. 程序调试题1调试要求:下列程序(C:KSB_2_1.c)包含3个错误,请按题中的功能要求,调试并修改该程序(在所修改语句后加/*/字样的注释),使其运行能得到正确的结果。将 程序结果(包括B_2_1.c文件和B_2_1.EXE 文件)保存到目录C:KS中。功能说明:输入某人某一个月的月收入(在2500元到8000元之间) ,计算并输出该月份他应缴
4、的个人所得税。个人所得税采用分段计算方法计算,具体为:月收入不超过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“, if (salaryint mai
5、n(void) float salary,tax;printf(“请输入月收入: “);scanf(“%f“, /*/if (salary=3500) tax=0; /*/ else if (salary=5000) tax=(salary-3500)*0.03;else tax=1500*0.03+(salary-5000)*0.1; /*/printf(“个人所得税为: %.2fn“, tax);return 0;2. 程序调试题2调试要求:下列程序(C:KSB_2_2.c)包含3个错误,请按题中的功能要求,调试并修改该程序(在所修改语句后加/*/字样的注释),使其运行能得到正确的结果。将 程序结果(包括B_2_2.c文件和B_2_2 .EXE文件)保存到目录C:KS中。功能说明:自定义一个表示分数的结构体类型,在主函数中输入两个分数,通过调用函数计算两个分数的和,最后在主函数中输出计算的结果(不化简)。运行示例: