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

上传人:lcm****801 文档编号:89154184 上传时间:2019-05-19 格式:DOC 页数:16 大小:908.75KB
返回 下载 相关 举报
2015 上海计算机等级考试二级C(B卷)_第1页
第1页 / 共16页
2015 上海计算机等级考试二级C(B卷)_第2页
第2页 / 共16页
2015 上海计算机等级考试二级C(B卷)_第3页
第3页 / 共16页
2015 上海计算机等级考试二级C(B卷)_第4页
第4页 / 共16页
2015 上海计算机等级考试二级C(B卷)_第5页
第5页 / 共16页
点击查看更多>>
资源描述

《2015 上海计算机等级考试二级C(B卷)》由会员分享,可在线阅读,更多相关《2015 上海计算机等级考试二级C(B卷)(16页珍藏版)》请在金锄头文库上搜索。

1、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;

2、 i = 10*i; fprintf(fp,%dn,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 str80; i

3、nt n; 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, &salary); if (sal

5、ary=3500) tax=0 else if (salary=5000) tax=(salary-3500)*0.03; else tax=1500*0.03+(salary-3500)*0.1; printf(个人所得税为: %.2fn, 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;

6、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中。功能说明:自定义一个表示分数的结构体类型,在主函数中输入两个分数,通过调用函数计算两个分数的和,最后在主函数中输出计算的结果(不化简)。运行示例:含错误源程序:#includestruc

7、t Frac int Mol; int Den;struct add(struct Frac a,struct Frac b) struct Frac c; c.Mol=a.Mol*b.Den+a.Den*b.Mol; c.Den=a.Den+b.Den; return c;int main(void) struct Frac n,m,t ; printf(请输入第一个分数:); scanf(%d/%d,&n.Mol,&n.Den); printf(请输入第二个分数:); scanf(%d/%d,&m.Mol,&m.Den); t= struct add(n,m); printf(%d/%d+

8、%d/%d=%d/%dn,n.Mol,n.Den,m.Mol,m.Den,t.Mol,t.Den); return 0;参考答案:#includestruct Frac int Mol; int Den;struct Frac add(struct Frac a,struct Frac b) /*/ struct Frac c; c.Mol=a.Mol*b.Den+a.Den*b.Mol; c.Den=a.Den*b.Den; /*/ return c;int main(void) struct Frac n,m,t ; printf(请输入第一个分数:); scanf(%d/%d,&n.Mo

9、l,&n.Den); printf(请输入第二个分数:); scanf(%d/%d,&m.Mol,&m.Den); t= add(n,m); /*/ printf(%d/%d+%d/%d=%d/%dn,n.Mol,n.Den,m.Mol,m.Den,t.Mol,t.Den); return 0; 3. 程序调试题3调试要求:下列程序(C:KSB_2_3.c)包含4个错误,请按题中的功能要求,调试并修改该程序(在所修改语句后加/*/字样的注释),使其运行能得到正确的结果。将程序结果(包括B_2_3.c文件和B_2_3.EXE文件)保存到目录C:KS中。功能说明:输入两个由整型数构成的集合(元素个

10、数均为5)分别放到数组A和B中,求这两个集合的交集(交集的元素由两个集合中的相同元素构成),最后输出交集中的元素。运行示例:含错误源程序:#include void inter(int s1,int s2,int s3);int main(void ) int a5,b5,c5; int i,n; printf (请输入第一个集合内容,5个整型数n); for(i=0;i5;i+) scanf(%d,&ai); printf (请输入第二个集合内容,5个整型数n); for(i=0;i5;i+) scanf(%d,&bi); n=inter(a,b,c); printf (A,B交集元素为:n

11、); for(i=0;i5;i+) printf(%4d, ci); printf(n); return 0;int inter(int s1,int s2,int s3) int j,i=k=0; for(i=0;i5;i+) for(j=0;j5;j+) if (s1i=s2j) break; if(j5) s3k=s1i ; return k;参考答案:#include int inter(int s1,int s2,int s3); /*/int main(void ) int a5,b5,c5; int i,n; printf (请输入第一个集合内容,5个整型数n); for(i=0;i5;i+) scanf(%d,&ai); printf (请输入第二个集合内容,5个整型数n); for(i=0;i5;i+) scanf(%d,&bi); n=inter(a,b,c); printf (A,B交集元素为:n); for(i=0;in;i+) /*/ printf(%4d, ci); printf(n); return 0;int inter(int s1,int s2,int s3) int j,i,k=0; /*/ for(i=0;i5;i+) for(j=0;j5;j+)

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 大杂烩/其它

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号