c语言上机考试训练题库及答案.doc_第1页
c语言上机考试训练题库及答案.doc_第2页
c语言上机考试训练题库及答案.doc_第3页
c语言上机考试训练题库及答案.doc_第4页
c语言上机考试训练题库及答案.doc_第5页
已阅读5页,还剩4页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

上机考试习题集1. 编写程序,一次输入5个学生的3门课成绩,每输入一个学生的3门成绩后,立即统计并输出该学生的总分和平均分。#include stdio.hvoid main() int score53, i,j; float sum5,average5; printf(请分别输入三个学生的成绩:n); for(i=0;i5;i+) sumi=0; for(j=0;j3;j+) scanf(%d,&scoreij); averagei=0; sumi+=scoreij; averagei=sumi/5; for(i=0;i5;i+) printf(第%d个学生的总分为:%f,平均成绩为:%fn,i+1,sumi,averagei); 2 、编写程序,提示用户从键盘输入一个double类型的数,使该数保留小数点后两位,对第三位小数进行四舍五入处理,然后在显示器上输出此数,以便验证处理是否正确。#include#includedouble rounding(double x,int n);void main() double x,x1; int n; printf(请输入一个浮点数:n); scanf(%lf,&x); printf(请输入给定的小数位:n); scanf(%d,&n); x1=rounding(x,n); printf(圆整后的数为:n%.*lfn,n,x1);double rounding(double x,int n) double s; s=(int)(x*pow(10,n)+0.5)/pow(10,n); return s;3编写程序,提示用户从键盘输入一个四位数年份,如1988,程序自动判断其是否为闰年,如果是闰年,则显示“*是闰年”;如果不是,则输出“*不是闰年”,此处*指代用户输入的四位数年份。#include stdio.hvoid main()int aprintf(请输入四位数:);scanf(%d,&a);if(a%4=0&a%100!=0)(a%400=0)printf(%d是闰年,a);elseprintf(%d不是闰年,a);4. 编写程序,计算并输出所有三位整数中能被4整除且十位不是4的数之和,并输出其中的最大数和最小数。#include void main () int i,s,min,max,t,sum; min=999; sum=0; max=0; i=100; while (i=999) s=i%100/10; if (i%4=0)&s!=4) if (imax) max=i; sum+=i; i+; printf(sum=%d,min=%d,max=%dn,sum,min,max);5.运输公司对用户计算运费,路程()越远,每公里运费越低。标准如下: 没有折扣 折扣 折扣 折扣 折扣 折扣设每公里每吨货物的基本运费为,货物重为,距离为,折扣为,则总运费的计算公式为:*(),请按照上述标准利用switch语句编写程序计算运费,并画出程序NS图。#include int main() int c, s; float p, w, d, f; scanf(%f %f %d, &p, &w, &s); if (s = 3000 ) c =12; else c = s / 250; switch (c) case 0 : d = 0; break; case 1 : d = 2; break; case 2 : case 3 : d = 5; break; case 4 : case 5 : case 6 : case 7 : d = 8; break; case 8 : case 9 : case 10: case 11: d = 10; break; case 12: d = 15; break; f = p * w * s * (1 - d / 100); printf(freight =%15.4fn, f);6、把一张一百元的人民币换成5元、2元的零钱,有多少种换法?请编写程序,自动给出所有组合的换法。7、编写程序,输入12个数,按照从后向前的顺序依次找出并输出其中能被7整除的所有整数以及这些整数的和,在屏幕上输出8.一球从100米高度自由落下,每次落地后反跳回原高度的一半;再落下,求它在第10次落地时,共经过多少米?第10次反弹多高?9.请补充fun函数,该函数的功能是判断一个数的个位数字和百位数字之和是否等于其十位上的数字,是则返回“yes!”,否则返回“no!”。#include #include char *fun(int n) int g,s,b;g=n%10;s=n/10%10;b= n/100%10 ; /*求百位数*/if(g+b)=s) Return”yes!”;else Return”no!”;main( ) int num=0;printf(please input a data n);scanf(%d,&num);printf(piease the result is:);printf(%s,fun(num);10.编写程序求解用户输入的任意整数N的阶乘值。11. 编写程序,在屏幕上输出九九乘法表。#include main()int i,j; For(i=1;i=9;i+)for(j=1,j=i;j+) Printf(“%d*%d=%2d”,i,j,i*j);Printf(“n”);12、 编写程序,统计并输出能被3,5,7整除的所有3位整数#include main()int i;For(i=100;i=999;i+)If(i%3=0i%5=0i%7=0)Printf(“%4d”,i);13. 有一个偶数,当它分别被3,4,5,6除时,余数均为2,编写程序,求满足上述条件的最小偶数#include void main() int i; for(i=350;i=400;i+=2) if(i%3=2 & i%4=2 & i%5=2 & i%6=2) printf(%d,i); 14.编写程序,计算并输出所有三位整数中能被4整除且十位不是4的数之和。#includevoid main()int i,sum=0;for(i=100;i=996;i+=4) if(i/10%10!=4) sum+=i;printf(和为:%d,sum);15. 输入一个字符串,统计该字符串的长度以及字母a出现的次数。#include void main()int i,j=0;char ch = ; printf(please input some charactersn);gets(ch);for (i=0;chi;i+)if (chi=”a”)J+;Printf(“字符串长是%d,a出现次数是%dn”,i,j);16. 输入一个字符串,统计该字符串的长度,字符串中数字的个数以及字母的个数。#include void main()char ch = ; int l=0,s=0,i; printf(please input some charactersn); gets(ch); for (i=0;chi;i+) if(chi=A&chi=a&chi=0&chi=9) s+; printf(字符串长度%d,字母出现次数%d,数字出现次数%dn,i,l,s);17.在字符串数组ch中查找字符串t,如果找到就输出该串在字符串数组中的位置(下标值),未找到就输出“没有找到”。18. 若某数具有对称性质,如11,22,33等,编程找出1256中的对称数。19.编程,求一个3*3矩阵的对角线元素中最大的元素。20.打印杨辉三角形10行11 11 2 11 3 3 11 4 6 4 1.21 依次输入任意10个字符,并将它们逆序输出。# include void main() char c10; int i,t; for(i=0;i=0;i-) printf(%c ,ci); 22. 编写函数sum(int n),用于计算并返回1+2+3+.+n的值,主函数已经给出。#includevoid main()int x;int sum(int n);scanf(%d,&x); printf(%d,sum(x);23. 请输入两个整数a,b,比较a+b和ab哪个大,输出判断结果。24. 编写程序,根据输入的学生成绩,给出相应的等级。90分以上的等级为优秀,60分以下的等级为不及格,其余每10分一个等级。程序如下:#include void main()int i; printf(请输入学生成绩:); scanf(%d,&i); printf(i=%d: ,i); if(i=90) printf(优秀n); else if(i=80) printf(良好n); else if(i=70) printf(中等n); else if(i=60) printf(及格n); else printf(不及格n);25. 求出10到100内能同时被2、3、7整除的数,并输出。#includevoid main()int i; for(i=10;i=100;i+) if(i%2=0&i%3=0&i%7=0) printf(%dn,i); 26. 输入一行字符,分别统计出其中英文字母、空格、数字和其它字符的个数。#includemain() char ch;int z=0,k=0,s=0,q=0; while(ch=getchar()!=n) if(ch=a&ch=z|ch=a)z+;else if(ch= )k+;else if(ch=0&ch=9)s+;elseq+; printf(字母= %d,空格= %d,数字= %d,其它= %dn,z,k,s,q); return 0;27. 求1+2!+3!+.+20!的和#includemain()int i=1,j=1;long in

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论