




已阅读5页,还剩41页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
信息科学与工程学院C语言上机150道题参考答案001.某一门课程考试之后,需要统计考生(10人)的平均成绩,并找出其中的最高分和最低分。#include#includemain() float a10,ave,max,min,sum=0; int i; printf(请输入10个考生的成绩:n); for(i=0;i10;i+) scanf(%f,&ai); for(i=0;i10;i+) sum+=ai; ave=sum/10; max=a0; for(i=1;imax) max=ai; min=a0; for(i=1;i10;i+) if(aimin) max=ai; printf(平均成绩:%f,最高分:%f,最低分:%f,ave,max,min);getch();003.用while循环结构编写程序打印ASCII码为33127的字符。#include#includemain() int i=33; while(i=127) printf(%c ,i); i+; getch();004用do-while,for循环结构编写程序打印ASCII码为33127的字符。#include#includemain() int i=33; do printf(%c ,i); i+; while(i=127);getch();006.在1500中,找出能同时满足用3除余2,用5除余3,用7除余4的所有整数,用循环结构。#include#includemain() int i; for(i=1;i=500;i+) if(i%3=2&i%5=3&i%7=5) printf(%dn,i); getch();007.输入一个整数将其倒着输出,如5432112345。(方法一)#include#include#includemain() char a100; int len,i; printf(请输入一个整数:n); scanf(%s,a); len=strlen(a); for(i=len-1;i=0;i-) printf(%c,ai);getch();007(方法二)#include#includemain() int num,t; printf(请输入一个整数:n); scanf(%d,&num); while(num0) t=num%10; num=num/10; printf(%d,t); getch();008.计算s=1+1/3+1/5+1/n,截止到1/n10-4。#include#includemain() int n; float t=1,s=0; for(n=1;t0.0001;n+=2) t=(float)1/n; s=s+t; printf(s=%f,s);getch(); 009.从键盘输入一整数n,计算1*1+2*2+.+n*n的值。#include#includemain() int n,i,s=0; printf(请输入一个整数:n); scanf(%d,&n); for(i=1;i=n;i+) s=s+i*i; printf(%d,s);getch();010.用 while 循环计算1+2+100的和。#include#includemain() int s=0,i=1; while(i=100) s=s+i; i+; printf(%d,s);getch();11.用 do while循环计算1+2+100的和 #includemain() int i,result; i=1; result=0; while(i=100) result=i+result; i+; printf(1+2+.+100=%d,result); while(1); 12. 用 for 循环计算1+2+100的和。#includemain() int i,result; for(i=1,result=0;i=100;i+) result=i+result; printf(1+2+.+100=%d,result); while(1); 13. 输入一个小于等于10的整数n ,计算n!。#includelong fac(int n) long result; if(n=0|n=1) result=1; else result=n*fac(n-1); return result; main() int n; long result; printf(请输入一个小于等于10的整数n); scanf(%d,&n); if(n=0&n=10) result=fac(n); printf(%d!=%ld,n,result); else printf(输入数据错误); while(1); 14. 输入两个正整数m和n,计算m!+n!,m和n的值均小于10。#includelong fac(int n) long result; if(n=0|n=1) result=1; else result=n*fac(n-1); return result; main() int n,m; long result; printf(请输入两个小于等于10的整数n); scanf(%d%d,&n,&m); if(n=0&n=0&n=10) result=fac(n)+fac(m); printf(%d!+%d!=%ld,n,m,result); else printf(输入数据错误); while(1); 15. 用循环语句,计算1100之间的所有3的倍数之和。#includemain() int i,result; for(i=1,result=0;i=100;i+) if(i%3=0) result=result+i; printf(1100之间的所有3的倍数之和为%d,result); while(1); 16. 用循环语句,计算100200之间的所有7的倍数之和。#includemain() int i,result; for(i=100,result=0;i=200;i+) if(i%7=0) result=result+i; printf(100200之间的所有7的倍数之和为%d,result); while(1); 17.输出1-100之间,7的整数倍数或数字尾数为7的数字,统计出这些数字个数。#includemain() int i,num; for(i=1,num=0;i=100;i+) if(i%7=0|i%10=7) num+; printf(1-100之间,7的整数倍数或数字尾数为7的数字个数为%d,num); while(1); 18.输入一行字符,分别统计出其中英文字母,空格,数字和其他字符的个数。#include int main() int i=0, space=0, num=0, n=0, ch=0; char s1000000; printf(请输入一串字符 ); gets(s); while(si != 0) if(si= ) space+; else if(si=0) num+; else if(si=a | si=A) ch+; else n+; i+; printf(刚才输入的字符中英文字符个数为 %dn, ch); printf(刚才输入的字符中空格个数为 %dn, space); printf(刚才输入的字符中数字个数为 %dn, num); printf(刚才输入的字符中其他个数为 %dn, n); while(1);19.输入一个整数,统计它有几位数。如输入367,则该数有3位数。#includemain() int n,i,j; i=1;j=0; printf(请输入一个整数n); scanf(%d,&n); if(n=0) printf(这个数是1位数,j); else while(n=i) i=10*i; j=j+1; printf(这个数是%d位数,j); while(1); 20. 编写程序,输出1到50中间所有能被3整除的正整数。#includemain() printf(1到50中间所有能被3整除的正整数如下n); int n; for(n=1;n=50;n+) if(n%3=0) printf(%dt,n); while(1); 21. 把100200之间不能被3整除的输出。#includemain() printf(100200之间不能被3整除的正整数如下n); int n; for(n=100;n=200;n+) if(n%3!=0) printf(%dt,n); while(1); 22.编程Y=1+3+5+7+.111。#includemain() printf(Y=); int n,result; for(n=1,result=0;n=111;n=n+2) printf(%d+,n); result=result+n; printf(=%dn,result); while(1); 23.编程y=1*1/2*1/3*1/4*1/5*1/6*.前十项之积。#include#includemain() int i; long int y; y=1; for(i=1;i=10;i+) y=y*i; printf(y=1/%ld,y); getch(); 24.编程输出九九乘法表。#include#includemain() int i,j; for (i=1;i=9;i+) for(j=1;j=i;j+) printf(%d*%d=%dt,j,i,i*j); printf(n); getch();25.求1到100奇数和。#include#includemain() int i=0,n; for(n=1;(2*n-1)100;n+) i=i+(2*n-1); printf(1到100以内的奇数之和为:%dn,i); getch(); 26.求1到100偶数和。#include#includemain() int i,s; s=0; for(i=2;i=100;i=i+2) s=s+i; printf(1到100的偶数和是:); printf(s=%dn,s); getch(); 27.编程求200以内所有质数(素数)。#include#include#includeint isprime(int m) int i; for(i=2;i=(int)sqrt(m)+1) return 1; main() int n,flag; for(n=1;n=200;n+) flag=isprime(n); if(flag) printf(%dt,n); getch(); 28.从键盘输入一个整数,求该数的绝对值。#include#includemain()float a,t;printf(Please input the valuet);scanf(%f,&a);if(a0)t=-a;elset=a;printf(The absolute value is:t%f,t);getch();29.从键盘输入、*、/中的任一个,输出对应的英文单词:plus、minus、mutiply、divide,如输入的不是这4个字符中的任一个,则输出“sorry,you are wrong”。#include#includemain() char ch; ch=getchar(); if(ch=+) printf(plusn); else if(ch=-) printf(minusn); else if(ch=*) printf(multiplyn); else if(ch=/) printf(dividen); else printf(you are wrong); system(pause);30.从键盘输入一个字符,判断其是否为a,r,或f,并输出相应的信息(不区分大小写)。#include#includemain() char n1=a,n2=r,n3=f,n4; char m1=A,m2=R,m3=F; printf(请输入一个字符:); scanf(%c,&n4); if(n4=n1|n4=m1) printf(you are right!n); printf(n4=%cn,n4); else if(n4=n2|n4=m2) printf(you are right!n); printf(n4=%cn,n4); else if(n4=n3|n4=m3) printf(you are right!n); printf(n4=%cn,n4); else printf(you put into a wrong char!n); getch();31.求解一元二次方程ax2bxc0的跟(a不等于0),a,b,c均为实数,其值由键盘输入。#include#include#includemain() double a,b,c; double s,x1,x2; printf(please enter a,b,c:n); scanf(%lf%lf%lf,&a,&b,&c); if(a=-(1e-6)&a(1e-6) x1=(-b+sqrt(s)/(2*a); x2=(-b-sqrt(s)/(2*a); printf(there are two different real:nx1=%5.2f,x2=%5.2fn,x1,x2); else if(s=-(1e-6)&s=(1e-6) x1=x2=-b/(2*a); printf(there are two equal real:nx1=x2=%5.2fn,x1); else s=-s; x1=-b/(2*a); x2=fabs(sqrt(s)/(2*a); printf(there are two different complex:n); printf(x1=%5.2f+%5.2fi,x2=%5.2f-%5.2fin,x1,x2,x1,x2); getch(); 32 .编一程序,对于给定的一个百分制成绩,输出用像A,B,C,D,E表示的等级成绩。设:90分以上为A,8089分为B,7079分为C,6069分D,60分以下为E。(要求用switch语句编程)。#include#includemain() int score, temp,logic; char grade; logic=1; while(logic) printf(input score:n); scanf(%d,&score); if(score100)|(score0) printf(nerror,input again!n); else logic=0; printf(n); if(score=100) temp=9; else temp=(score-score%10)/10; switch(temp) case 9:grade=A;break; case 8:grade=B;break; case 7:grade=C;break; case 6:grade=d;break; case 5: case 4: case 3: case 2: case 1: case 0:grade=e;break; printf(score is:%d,the grade is:%c.n,score,grade); system(pause); 33.输入一个整数,判断它能否被3,5,7整除。#include#includemain() int x; printf(Please enter x:); if(x%3=0)&(x%5=0)&(x%7=0) printf(%d能被3,5,7整除,x); else printf(%d不能被3,5,7整除,x); getch(); 34.用整数112依次表示112月,由键盘输入一个月份数,输出对应的季节英文名称(122月为冬季;35月为春季;68月为夏季;911月为秋季。要求用if嵌套实现)。#include#includemain() int month,i; loop:printf(enter an integer(112):n); scanf(%d,&month); if(month12) goto loop; r=month%12; r=r/3; if(r=0) printf(wintern); else if(r=1) printf(springn); else if(r=2) printf(summern); else printf(autumnn); getch(); 35.编写输入整数a,b,c,当a为1时显示b和c之和,a为2时显示b与c之差,a为3时显示b*c之积,a为4时取b/c之商,a为其他数值时不做任何操作的程序。#include#includemain() int a,b,c; printf(please enter a,b,c:n); scanf(%d%d%d,&a,&b,&c); switch(a) case 1:printf(%d+%d=%dn,b,c,b+c); break; case 2:printf(%d-%d=%dn,b,c,b-c); break; case 3:printf(%d*%d=%dn,b,c,b*C); break; case 4:printf(%d/%d=%dn,b,c,b/c); break; default :break; getch();36.编写输入一个整数,将其数值按小于10,1099,100999,1000以上分类并显示。#include#includemain() int a; printf(请输入整数A:n); scanf(%d,&a); if(a=10)&(a=100)&(a999) printf(整数%d大于等于100且小于1000。,a); else printf(整数%d大于等于1000。,a); getch();37.编写输入一个整数,当为65时显示A,66时显示B,67时显示C,其他值时显示END的程序。#include#includemain() int a; printf(请输入整数a:n); scanf(%d,&a); switch(a) case 65:printf(A);break; case 66:printf(B);break; case 67:printf(C);break; default:printf(END); getch();38.编程实现:输入4个整数,要求按由小到大输出。#include#includemain() int a,b,c,d,t; printf(请输入4个整数:a,b,c,d:n); scanf(%d%d%d%d,&a,&b,&c,&d); if(ab) t=a; a=b; b=t; if(cd) t=d; d=c; c=t; if(ac) t=c; c=a; a=t; if(bd) t=b; b=d; d=t; if(bc) t=b; b=c; c=t; printf(排序后:%d%d%d%d,a,b,c,d); getch(); 39.企业发放的奖金根据利润的提成,利润I低于或等于10万元的,奖金可提10;利润高于10万元低于20万时,低于10万的部分按10提成,高于10万元的部分,可提成7.5;20万元I40万元时,低于20万的部分仍按上述办法,高于20万元部分按5提成;利润超过40万元时,低于40万元的部分按上述办法,高于40万元部分按1%提成。从键盘输入当月利润I,求应发奖金部分。#include#includemain() int s,p; float tax; printf(enter income:); scanf(%d,&s); printf(n); if(s800) if(s-800)%100!=0) p=(s-800)/100+1; else p=(s-800)/100; switch(p) case 0: case 1: case 2: case 3: case 4:tax=(s-800)*0.05; break; case 5:tax=400*0.05+(s-1200)*0.08; break; default:tax=400*0.05+800*0.08+(s-2000)*0.2; break; else tax=0; printf(Tax=%.2f,tax); getch(); 40.给出一百分制成绩,要求输出成绩等级A,B,C,D,E。90分以上为A,80-89分为B,70-79分为C,6069分为D,60分以下为E。#include#includemain() int score ,temp,logic; char grade; logic=1; while(logic) printf(input score:); scanf(%d,&score;); if(score100|score0) printf(nerror,input again!n); else logic=0; printf(n); if(score=100) temp=9; else temp=(score-score%10)/10; switch(temp) case 9:grade=A; break; case 8:grade=B; break; case 7:grade=C; break; case 6:grade=D; break; case 5: case 4: case 3: case 2: case 1: case 0:grade=E; printf(score is:%d,the grade is:5c.n,score,grade); getch(); 41.给出一个不多于5位的正整数,分别打印出每一位数字。#includeint main(void) int x,i=0; do printf(请输入数字:); scanf(%d,&x); if(x99999|x99999|x0); while(x!=0) printf(%dt,x%10); x=x/10; i+; printf(n这个数共有%d位n,i); return 0;42.从键盘输入三个正整数,判断这三个数能否构成三角形。#include#includedouble square(int a,int b,int c);main() int x,y,z; float S; printf(please enter x,y,and z(x,y,z0)n); scanf(%d%d%d,&x,&y,&z); if(x+y=z)|(x+z=y)|(y+z=x) printf(sorry,you are wrong!n); Else Printf(yes!n);43.编写输入两个整数a和b,若ab时,求其积c并显示,若ab时,求其商c并显示的程序。#include#includemain() int a,b,c; printf(please enter:n); scanf(%d%d,&a,&b); if(a=b) c=a*b; printf(%d*%d=%dn,a,b,c); else c=b/a; printf(%d/%d=%d,a,b,c); getch(); 45. 编程实现:从键盘输入三个正整数,判断它们是否构成直角三角形。#include#includevoid main()int a,b,c;printf(请输入三角形的三条边 用逗号隔开a,b,c:);scanf(%d,%d,%d,&a,&b,&c);if(a0)&(b0)&(c0)&(a+b)c)&(b+c)a)&(a+c)b)if(a*a=b*b+c*c)|(b*b=a*a+c*c)|(c*c=a*a+b*b)printf(直角三角形n);elseprintf(不是直角三角形n);elseprintf(不能组成三角形n);46. 编程实现:从键盘输入三个正整数,判断它们是否构成等腰三角形。#includemain()int a,b,c;printf(请输入三角形的三条边 用逗号隔开 a,b,c:);scanf(%d,%d,%d,&a,&b,&c); if(a+b)c&(a-b)c) if(a=b|b=c|c=a)printf(这是个等腰三角形n); else printf(这不是等腰三角形n);elseprintf(这三
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年新能源汽车挂靠运营合作协议模板
- 2025年通信基站电气设备安装与优化升级协议
- 2025二手车二手车经销商培训服务合同范本
- 2025年度地磅称重系统销售与售后技术支持协议
- 2025处理离婚财产争议协议范本:夫妻共同财产处理流程详解
- 2025版砂石行业供销合同模板与解析
- 2025年二手家居用品转让定金合同模板参考
- 2025装配式建筑部品部件标准化设计在装配式建筑装配式阳台预制构件施工中的应用报告
- 2025年新型智能电脑及配件研发购销合同
- 2025第一节智能制造产业链协同创新合作协议书编号:XX027
- 人教版数学四年级上册全册课本练习题精心整理可编辑可打印
- 退费账户确认书
- 郑州市第四中学新初一分班(摸底)语文模拟试题(5套带答案)
- 2-第二章-各向异性材料的应力-应变关系
- 医院防爆反恐应急预案
- 云南省安全员C证考试题库及答案
- 死亡待遇申请表
- 集中供热管网系统一次网的调节方法
- 无线充电技术在汽车上的应用
- 马工程《刑法学(下册)》教学课件 第17章 危害国家安全罪
- 11科室临床路径、单病种管理目录
评论
0/150
提交评论