




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、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、 ( _(2)_ ) k = _(3)_; n = n/10; if (k%2 = 1) z = z+k*i; i = 10*i; fprintf(fp,"%dn",z); _(4)_; /* 关闭文件 */ return 0;程序功能:从键盘输入一个字符串和一个字符,统计字符串中该字符出现的次数,并输出结果。例如,输入字符串:aBEddfghDdd,输入字符:d,输出结果:4。代码:#include <stdio.h>int num(char str) char ch; int i=0,count=0; printf("输入字符:"); s
3、canf("%c",&ch); while( _(1)_ ) if( _(2)_ ) count+; i+; return count;int main(void) char str80; int 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个错误,请
4、按题中的功能要求,调试并修改该程序(在所修改语句后加/*/字样的注释),使其运行能得到正确的结果。将程序结果(包括B_2_1.c文件和B_2_1.EXE文件)保存到目录C:KS中。功能说明:输入某人某一个月的月收入(在2500元到8000元之间),计算并输出该月份他应缴的个人所得税。个人所得税采用分段计算方法计算,具体为:月收入不超过3500元(含3500元,以下同)免税;月收入超过3500元但不超过5000元的,超过部分的税率为3%;月收入超过5000元但不超过8000元的,超过5000元部分的税率为10%。运行示例:输入:请输入月收入: 7000输出:个人所得税为: 245.00说明:月收
5、入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("个人
6、所得税为: %.2fn", tax); return 0;参考答案:#include <stdio.h>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(&qu
7、ot;个人所得税为: %.2fn", tax);return 0;2. 程序调试题2调试要求:下列程序(C:KSB_2_2.c)包含3个错误,请按题中的功能要求,调试并修改该程序(在所修改语句后加/*/字样的注释),使其运行能得到正确的结果。将程序结果(包括B_2_2.c文件和B_2_2.EXE文件)保存到目录C:KS中。功能说明:自定义一个表示分数的结构体类型,在主函数中输入两个分数,通过调用函数计算两个分数的和,最后在主函数中输出计算的结果(不化简)。运行示例:含错误源程序:#include<stdio.h>struct Frac int Mol; int Den;s
8、truct 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.
9、Den); t= struct add(n,m); printf("%d/%d+%d/%d=%d/%dn",n.Mol,n.Den,m.Mol,m.Den,t.Mol,t.Den); return 0;参考答案:#include<stdio.h>struct 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 m
10、ain(void) struct Frac n,m,t ; printf("请输入第一个分数:"); scanf("%d/%d",&n.Mol,&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
11、调试要求:下列程序(C:KSB_2_3.c)包含4个错误,请按题中的功能要求,调试并修改该程序(在所修改语句后加/*/字样的注释),使其运行能得到正确的结果。将程序结果(包括B_2_3.c文件和B_2_3.EXE文件)保存到目录C:KS中。功能说明:输入两个由整型数构成的集合(元素个数均为5)分别放到数组A和B中,求这两个集合的交集(交集的元素由两个集合中的相同元素构成),最后输出交集中的元素。运行示例:含错误源程序:#include <stdio.h>void inter(int s1,int s2,int s3);int main(void ) int a5,b5,c5; in
12、t i,n; printf ("请输入第一个集合内容,5个整型数n"); for(i=0;i<5;i+) scanf("%d",&ai); printf ("请输入第二个集合内容,5个整型数n"); for(i=0;i<5;i+) scanf("%d",&bi); n=inter(a,b,c); printf ("A,B交集元素为:n"); for(i=0;i<5;i+) printf("%4d", ci); printf("n&q
13、uot;); return 0;int inter(int s1,int s2,int s3) int j,i=k=0; for(i=0;i<5;i+) for(j=0;j<5;j+) if (s1i=s2j) break; if(j<5) s3k=s1i ; return k;参考答案:#include <stdio.h>int inter(int s1,int s2,int s3); /*/int main(void ) int a5,b5,c5; int i,n; printf ("请输入第一个集合内容,5个整型数n"); for(i=0
14、;i<5;i+) scanf("%d",&ai); printf ("请输入第二个集合内容,5个整型数n"); for(i=0;i<5;i+) scanf("%d",&bi); n=inter(a,b,c); printf ("A,B交集元素为:n"); for(i=0;i<n;i+) /*/ printf("%4d", ci); printf("n"); return 0;int inter(int s1,int s2,int s3) in
15、t j,i,k=0; /*/ for(i=0;i<5;i+) for(j=0;j<5;j+) if (s1i=s2j) break; if(j<5) s3k+=s1i ; /*/ return k;(二)编程题(2小题,共35分,其中第1小题15分,第2小题20分)1编程题1编程要求:请按题中的功能要求,编写程序并能得到正确的结果。将程序结果(包括B_4_1.c文件和B_4_1.EXE文件)保存到目录C:KS中。程序功能:按示例格式完成以下要求。(1)输入10个整数(存入数组a),再输入整数x。(2)输出数组a中大于等于x的所有元素。运行示例:输入:22 55 66 99 4
16、4 33 77 11 0 88 60输出:66 99 77 88参考答案:#include <stdio.h>#define N 10int main(void) int aN,i,x; for (i=0;i<N;i+) scanf("%d",&ai); scanf("%d",&x); for (i=0;i<N;i+) if (ai>=x) printf("%d ",ai); printf("n");2编程题2编程要求:请按题中的功能要求,编写程序并能得到正确的结果。将
17、程序结果(包括B_4_2.c文件和B_4_2.EXE文件)保存到目录C:KS中。程序功能:按示例格式完成以下要求(验证数学上考拉兹猜想:任意一个大于1正整数,连续进行特定运算,经有限步骤后,计算结果得到1)。(1)输入整数n,如果n小于2,输出"Error"并结束运行。(2)如果整数n为偶数,计算n/2,否则计算3*n+1,生成新的整数(仍存为n)。(3)如果生成的整数结果等于1,则结束运行,否则重复步骤(2)与(3)。运行示例1:输入:12输出:12 16 23 310 45 516 68 74 82 91说明:输入12,第1次计算生成6,第2次计算生成3,第9次计算生成
18、1。示例中1、2至9为生成的次数标记,、与间隔空格都必须保留。运行示例2:输入:0输出:Error说明:输入为0、1或负数,输出"Error"。参考答案:#include <stdio.h>int main(void) long n; int i,j; scanf("%ld",&n); if (n<=0) printf("Errorn"); return -1; printf("%ld ",n); for (i=1;1;i+) if (n%2=0) n = n/2; else n = 3*n + 1; printf("%d%ld ",i,n); if (n=1) break; printf("
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年教师招聘之《幼儿教师招聘》考前冲刺测试卷包含答案详解【培优a卷】
- 智能锁控系统创新创业项目商业计划书
- 演出经纪人之《演出经纪实务》练习题附答案详解(培优)
- 2025年教师招聘之《小学教师招聘》练习题包含完整答案详解【全优】
- 2025年教师招聘之《小学教师招聘》题库必刷100题附参考答案详解【a卷】
- 教师招聘之《小学教师招聘》过关检测试卷及答案详解【名校卷】
- 2025年教师招聘之《幼儿教师招聘》通关练习题和答案含答案详解【预热题】
- 2025年四川小金县考核招聘10名事业单位高层次人才的笔试备考题库附答案详解
- 2025年教师招聘之《幼儿教师招聘》练习题库含答案详解【突破训练】
- 押题宝典教师招聘之《幼儿教师招聘》模考模拟试题含答案详解【综合卷】
- (高清版)DB33∕T 715-2018 公路泡沫沥青冷再生路面设计与施工技术规范
- 军事心理战试题及答案
- 托育园管理制度
- 2025年江西省高职单招文化统一考试真题及答案(网络版)
- 铁塔拆除施工方案
- DB3714-T 0010-2022 园林绿化养护管理规范
- 儿童用药安全科普知识
- 光伏发电设备检修维护(技师)职业技能鉴定备考试题库(含答案)
- 沥青路面基础知识
- 支气管镜和CT定位
- 机电安装冬季施工方案
评论
0/150
提交评论