




已阅读5页,还剩29页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
皖西学院2018年c语言上机题试卷1改错题在屏幕上输入以下图形(每行前没有空格,星号之间也没有空格)*#include void main() int i,j; i=1; /*$ERROR1$*/改为i=0; while(i5) j=0; while(j0) j=0; while(j5-i) /*$ERROR2$*/ 改为while(j=5-i) printf(*); j+; printf(n); i+ ; /*$ERROR3$*/改为i-; 试卷1填空题某部门有三位职工,要求输入职工的工资信息,计算每位职工的实发工资和部门实发工资总额(total)说明:(1) 描述职工工资信息的数据包括编号(num)、姓名(name)、基本工资(bwage)奖金(bonus)、保险(ins)和实发工资(rwage);(2) 实发工资=基本工资+奖金保险;(3) 职工编号长度小于10位且为整数,姓名不包括空格。#include #define N 3struct employee long num; char name15; long bwage,bonus,ins,rwage;void main() sruct employeeNK1$*/ int i; long total; total=0 ;/*$BLANK2$*/ printf(Please input data:n); printf(nnum name bwage bonus ins:n); for(i=0;iN;i+) scanf(%ld%s, &workeri.num, ); scanf(%ld%ld%ld, &workeri.bwage, &workeri.bonus, &workeri.ins); for(i=0;iN;i+) Workeri.rwage=workeri.bonus-workeri.ins;/$BLANK3$*/ total=total+workeri.rwage; printf(output:n ); printf(nnum name real wagen); for(i=0;iN;i+) printf(%-9ld %-14s %-ldn, workeri.num, , workeri.rwage); printf(ntotal wage =%ldn,total);试卷1程序题某果农有一车水果,第一天卖掉三分之而后吃了两个,第二天卖掉了剩下的三分之二又吃了两个,第三天到第七天都如此,到第八天一看只剩了五个苹果。求此车共装有多少个苹果(要求用循环实现)。参考程序1#include void PRINT(int s) FILE *out; printf(s=%dn,s); if(out=fopen(C:24000110RESULT.DAT,w+)!=NULL) fprintf(out,s=%d,s); fclose(out);void main()int i ;s=5;for (i=1;i8;I+)s=(s+2)*3; PRINT(s);试卷2改错题计算所有三位正整数中各个数位上数字之和是13的数的总和。如将139、148、157等这样的数求和。#include void main() int i,j,s; long sum; sum=1; /*$ERROR1$*/ 改为sum=0; for(i=100;i1) /*$ERROR2$*/ 改为while(j0) s=s+j/10; /*$ERROR3$*/ 改为s=s+j%10; j=j/10; if(s=13) sum+=i; printf(%ldn,sum);试卷2填空题从键盘上输入两个正整数,并输入他们的最大公约数。#include int gcd(int m,int n) int r,t; if(m0) r=m%n; m=n; n=r; return(_m ) ;/*$BLANK2$*/ void main() int m,n,result; printf(Pease input two number:n); scanf(%d%d,&m,&n ) ; /*$BLANK3$*/ result=gcd(m,n); printf(result=%dn,result);试卷2程序题求100999之间的回文素数之和。说明:(1)回文素数是一个素数,且从左向右和从右向左读是相同的,如:101,131,181 (2)要求使用循环实现。参考程序1#include void PRINT(long s) FILE *out; printf(s=%ldn,s); if(out=fopen(C:24000110RESULT.DAT,w+)!=NULL) fprintf(out,s=%ld,s); fclose(out);void main() long s=0;int a,b,I,t;for (a=1;a=9;a+) for (b=0;b=9;b+)t=101*a+10*b;for (i=2;it/2) s+=t; PRINT(s);参考程序2#include void PRINT(long s) FILE *out; printf(s=%ldn,s); if(out=fopen(C:24000110RESULT.DAT,w+)!=NULL) fprintf(out,s=%ld,s); fclose(out);void main() long s=0;int a,b,I,t;for (i=100;i1000;i+)a =i100;b =i10%10;c =i%10;if (a=c)for (t=2;ti/2) s+=I; PRINT(s);试卷3改错题把字符串s中所有数字字符按以下规律改写:(1)0,1,2,3,4,5,6,7,8分别改写成1,2,3,4,5,6,7,8,9(2)9改成0(3)其他字符保持不变#include #include void main() char s80; int i; getc(s); /*$ERROR1$*/ 改为gets (s); for(i=0; si!=0; i+) if(si=9) /*$ERROR2$*/ 改为if (si=9) si=0; else if(si=0 & si=8) si=si+1; printf(%cn,s); /*$ERROR3$*/ 改为printf (“%sn”,s);试卷3填空题定义求n!的递归函数f(),并调用函数f()求1!+2!+3!+4!+5!的值。#include long f(int n) if(n=1|n=0) return(1); else return(n*f(_n-1 ); /*$BLANK1$*/void main() int i; long s; s=_0_ ; /*$BLANK2$*/ for(i=1;i=5;i+) s+=f(i); printf(1!+2!+3!+4!+5!=%ldn,_s_); /*$BLANK3$*/试卷3程序题计算10000以内9的偶数倍数之和,即:sum=18+36+54+9990其中18,36,549990等分别是9的2,4,61110倍。参考程序1#include void PRINT(long sum) FILE *out; printf(sum=%ldn,sum); if(out=fopen(C:24000110RESULT.DAT,w+)!=NULL) fprintf(out,sum=%ld,sum); fclose(out);void main() int i ;int sum =0;for (i=2;i=1110;i+=2)sum*=9; PRINT(sum);参考程序2#include void PRINT(long sum) FILE *out; printf(sum=%ldn,sum); if(out=fopen(C:24000110RESULT.DAT,w+)!=NULL) fprintf(out,sum=%ld,sum); fclose(out);void main() int I ;int sum =0;for (i=18;i10000;i+=18)sum+=i ; PRINT(sum);参考程序3#include void PRINT(long sum) FILE *out; printf(sum=%ldn,sum); if(out=fopen(C:24000110RESULT.DAT,w+)!=NULL) fprintf(out,sum=%ld,sum); fclose(out);void main() int I ;int sum =0;for (i=1;i10000;i+)if (i%2=0 & i%9=0) sum+=I; PRINT(sum);试卷4改错题若有车的车牌号和罚分记录数据,统计罚分达到或超过12分的车辆总数并输入这些车辆的信息(说明:id域代表车牌号,score域代表罚分)。#include struct car char id12; int score;void main() int i,n=0; car c6= A-QQ111,8, /*$ERROR1$*/ 改为struct car c6= “A-QQ111”,8, A-TT222,12, B-WJ333,12, C-LC444,5, F-PC555,6, B-MY666,12; printf(idtscoren); i=0; while(i=12) /*$ERROR2$*/ 改为if (ci.score=12) printf(%st%dn,ci.id,ci.score); n-; /*$ERROR3$*/ 改为n+; i+; printf(n=%dn,n);试卷4填空题输入所有的“水仙花数”,并输入“水仙花数”的个数。所谓的“水仙花数”是指一个三位数,其各位数字的立方和等于该数本身。例如153=1*1*1+5*5*5+3*3*3。#include void main() int i,a,b,c,n; n=_; /*$BLANK1$*/ for(i=101;i=999;i+) a=i%10; b=i/10%10; c=_; /*$BLANK2$*/ if(a*a*a+b*b*b+c*c*c=i) printf(%6d,i); _; /*$BLANK3$*/ printf(nn=%dn,n);试卷4程序题【三色球问题】若一个口袋中放有12个球,其中有3个红色的,3个白色的和6个黑色的,从中任取8个球,求共有多少种不同的颜色搭配。如:2个白色球和6个黑色球;1个红色球、3个白色球和4个黑色球;等都是满足条件的颜色搭配。参考程序1#include void PRINT(int n) FILE *out; printf(count=%dn,n); if(out=fopen(C:24000110RESULT.DAT,w+)!=NULL) fprintf(out,count=%dp,n); fclose(out);void main()int n=0;int a,b,c;for (a=0;a=3;a+) for (b=0;b=3;b+) for (c=0;c=6;c+) if (a+b+c=8) n+; PRINT(n);参考程序2#include void PRINT(int n) FILE *out; printf(count=%dn,n); if(out=fopen(C:24000110RESULT.DAT,w+)!=NULL) fprintf(out,count=%dp,n); fclose(out);void main() int n=0;int a,b,c;for (a=0;a=3;a+) for (b=0;b=3;b+) c=8-a-b;If (c=6) n+; PRINT(n);试卷5改错题在屏幕上输入以下图形(数字之间没有空格)。0 123 456789012345678901234#include void main() char a9= ; int i,j,k,n=0; for(i=0;i5;i+) for(j=0;ji*2+1;j+) k=4-i+j; n=n/10; /*$ERROR1$*/ 改为:n=n%10; ak=0+n; n+; for(j=0;j9;j+) printf(%c,a+j); /*$ERROR2$*/ 改为:printf(“%c”,aj); printf(/n); /*$ERROR3$*/ 改为:printf(“n”); 试卷5填空题输入100300之间个位数码为3的全部素数之和。#include void main( ) int i,j,s; s= 0 ; /*$BLANK1$*/ for(i=101;i300;i+=2) for(j=2;ji/2)&(i%10=3) s+= i ; /*$BLANK3$*/ printf(s=%dn,s);试卷5程序题已知数列F(n)当n=1时F(n)=5当n=(F(n-1)+10/F(n-1)/2求该数列第五项即F(5)的值。说明:(1)结果保留五位小数; (2)要求使用循环实现。#include void PRINT(double f) FILE *out; printf(F(5)=%.5fn,f); if(out=fopen(C:24000110RESULT.DAT,w+)!=NULL) fprintf(out,F(5)=%.5f,f); fclose(out);void main() double f=5;int i ; for (i=2;i=5;i+) f=(f+10/f)/2;PRINT(f);试卷6改错题将字符串str1和字符串str2合并成一个新字符串str,然后输出字符串str。#include #include void main() char str1100,str230; int i,j; printf(Enter the first string:); gets(str1); printf(Enter the second string:); gets(str2); for(i=0;str1i !=0 ;i+); j=0; while(str2j != 0) str1i+ = str2j; i+; /*$ERROR1$*/ 改为:j+; str1i = 0; /*$ERROR2$*/ 改为:strj=0; printf(%cn, str1); /*$ERROR3$*/ 改为:printf(“%sn”,str);试卷6填空题输入10个数据,计算并输入其中所有正数的平均值。#include #define N 10void main() double ave=0,aN, *p; int n=0; p= a ; /*$BLANK1$*/ while(p0 ) /*$BLANK2$*/ n+; ave+=*p; p+; if(n0) ave/= n ; /*$BLANK3$*/ printf(ave=%lfn,ave); else printf(Not exist positive number n); 试卷6 程序题求满足下列条件的三位数之和。条件如下:(1) 各位数字只能从5、6、7、8中选;(2) 各位数字互不相同。#include void PRINT(long s) FILE *out; printf(s=%ldn,s); if(out=fopen(C:24000110RESULT.DAT,w+)!=NULL) fprintf(out,s=%ld,s); fclose(out);void main() long s=0;int a,b,c;for (a=5;a=8;a+) for (b=5;b=8;b+) for (c=5;c=8;c+) if (a!=b &a!=c&c!=b) s+=100*a+10*b+c; PRINT(s);试卷7改错题下面程序通过指针操作,输入由二进制数字组成的字符串“0010110101000001”对应的无符号十进制整数。#include void main() char v2 =0010110101000001,*p; unsigned int v10,t; v10=1; /*$ERROR1$*/ 改为: p=v20; /*$ERROR2$*/ 改为: while(*p!=0) t=*p-0; v10=v10*2+t; p-; /*$ERROR3$*/ 改为: printf(n%s is convered to integer number: %un,v2,v10);试卷7填空题下列程序的功能是计算并输出给定整数n的所有因子之和(不包括1和它自身)。规定n的值不大于1000.#include void main()int n,i,s;printf(Please input n:);scanf(%d,_); /*$BLANK1$*/s_; /*$BLANK2$*/for(i=2; i=n-1; i+)if(n%i=0)s=s+_; /*$BLANK3$*/ printf(s=%dn,s);试卷7程序题已知三角形的三条边长分别为a、b和c,且满足下列条件:(1) 边长为小于等于100的正整数;(2) 边长a小于b;(3) A*a+b*b=c*c。统计满足上述条件的三角形的个数。参考程序1#include #include void PRINT(int n) FILE *out; printf(n=%dn,n); if(out=fopen(C:24000110RESULT.DAT,w+)!=NULL) fprintf(out,n=%d%d,n); fclose(out);void main()int n=0;int a,b,c;for (a=1;a=100;a+) for (b=a+1;b=100;b+) for (c=b+1;c=100;c+) if (a*a+b*b=c*c) n+; PRINT(n);参考程序2#include #include void PRINT(int n) FILE *out; printf(n=%dn,n); if(out=fopen(C:24000110RESULT.DAT,w+)!=NULL) fprintf(out,n=%d%d,n); fclose(out);void main()int n=0;int a,b,c;for (a=1;a=100;a+) for (b=a+1;b=100;b+) t=a*a+b*b; If (t=(int)sqrt(t)*(int)sqrt(t)& t=10000) N+; PRINT(n);试卷8改错题convert 函数的功能是:模拟将长度为16位的二进制数字字符串转换为有符号的十进制整数。要求主函数通过调用convert 函数将两个字符串转换后的结果相加并输出。说明:(1)存储字符串的数组长度为17。 (2)本程序的运行结果是n=5#include #include int convert(char a) int i,v; v=0; for(i=0;i16;i+) v = v *2 +(ai-0); if(a0=1) /*对负数的处理*/ v=-(65536-v); return v; void main() string a17,b17; /*$ERROR1$*/ 改为:char a17,b17; int n; strcpy(a,1111111111111110); strcpy(b,0000000000000111); n=convert(a0)+convert(b0);/*$ERROR2$*/ 改为:n=convert(a)+convert(b); printf(%sn,n); /*$ERROR3$*/ 改为:printf(“%dn”,n);试卷8填空题输出以下图形*A* 8ABA* 8ABCBA* 8ABCDCBA*ABCDEDCBA*ABCDEFEDCBAABCDEFGFEDCBA#include #define N 7 /*$BLANK1$*/void main() int i,j; for(i=0;iN;i+) for(j=0;j2*(N-1-i);j+) printf(*); for(j=0;j= 0 ;j-) /*$BLANK3$*/ printf(%c,j+A); printf(n); 试卷8程序题计算22015之间所有完数之和。说明:(1) 一个数如恰好等于它的因子(因子包含1但不包括它本身)之和,这个数就是完数。(2) 如6的因子为1、2和3,因子之和也为6,所有6是完数;(3) 要求使用循环实现。#include void PRINT(long sum) FILE *out; printf(sum=%ldn,sum); if(out=fopen(C:24000110RESULT.DAT,w+)!=NULL) fprintf(out,sum=%ld,sum); fclose(out);void main() long sum=0;int i , j , t ; for (i=2;i=2015;i+) t=1; for (j=2;j=i/2;j+) if (i%j=0) t+=j; if (t=i) sum+=t; PRINT(sum);试卷9改错题已知数列:第一项和第二项都是1,从第三项开始每项都是其前两项之和。求第n项(n从键盘输入,用递归实现)。#include long f(int n) if(n=1| n=2) /*$ERROR1$*/ 改为:if(n=1 | n=2) return 1; else return f(n-1) - f(n-2); /*$ERROR2$*/ 改为:return f(n-1)+f(n-2);void main() long m; int n; printf(nPlease input n:n); scanf(%d,n); /*$ERROR3$*/ 改为:scanf(“%d”,&n); if(n0) m=f(n); printf(%ldn,m); else printf(Data errorn);试卷9填空题以下程序判断输入的字符串是否“回文”(即顺读和倒读都一样,例如:ABCBA,假设字符串前后没有空格)。#include#includevoid main()char s100;int left,right,middle,lenth;printf(Please input a string:);gets(s);lenth = strlen(s);left = 0 BLANK1$*/middle = lenth/2;while(left=middle)right = lenth-1-left;if(sleft _=_ sright) /*$BLANK2$*/ left+; elsebreak;if(left _=_ middle) /*$BLANK3$*/printf(Non);elseprintf(Yesn); 试卷9程序题求s=1+(2*2)+(3*3*3)+(4*4*4*4)+(9*9*9*9*9*9*9*9*9)的值(要求使用循环实现)#include void PRINT(long s) FILE *out;
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 公司高层聘用合同范例
- 乡村振兴土地合同范本
- 公司人员责任合同范例
- 个人建筑仓库合同范例
- 木板吊顶施工方案
- 公司资产抵押合同范例
- 农村修公路养殖合同范例
- 买卖石渣合同范例
- 全国授权合同范例
- 买村证房合同范本
- 医学伦理学讲义
- 高中物理教科版目录
- 锚杆锚索防护施工组织设计
- GB/T 39489-2020全尾砂膏体充填技术规范
- GB/T 34448-2017生活用纸及纸制品甲醛含量的测定
- 元宵佳节-主题班会课件1
- GB/T 18877-2009有机-无机复混肥料
- GB 21240-2007液压电梯制造与安装安全规范
- 日用陶瓷工艺流程课件
- 最新部编版语文五年级下册教材分析及教学建议课件
- 家具厂安全生产操作规程大全
评论
0/150
提交评论