2015上海计算机等级考试二级C(B卷)

  • 格式:doc
  • 大小:765.18 KB
  • 文档页数:16

下载文档原格式

  / 16
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 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;

相关主题