大学C题库及答案.docx
《大学C题库及答案.docx》由会员分享,可在线阅读,更多相关《大学C题库及答案.docx(97页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、Q5.(io分)写一个程序根据从键盘输入的里氏强度显示地震的后果。里氏强度地震的后果如下:里氏强度后果小于4很小4.0到5.0窗户晃动5.0到6.0墙倒塌;不结实的建筑物被破坏6.0到7.0烟囱倒塌;普通建筑物被破坏7.0到8.0地下管线破裂;结实的建筑物也被破坏超过8.0地面波浪状起伏;大多数建筑物损毁根据*输入格式要求:实数,提示信息:cout久”请输入地震的里氏强度:”endl;*输出格式要求:”本次地震后果“本次地震后果”本次地震后果“本次地震后果”本次地震后果“本次地震后果很小!”窗户晃动!”墙倒塌;不结实的建筑物被破坏!”烟囱倒塌;普通建筑物被破坏!地下管线破裂;结实的建筑物也被破
2、坏!”地面波浪状起伏;大多数建筑物损毁!#include using namespace std; int main()|double magnitude;cout 请输入地震的里氏强度: magnitude;if (magnitude 4.0)cout 本次地震后果:很小! endl; else if (magnitude 5.0)(cout 本次地震后果:窗户晃动! endl;) else if (magnitude 6.0)cout 本次地震后果:墙倒塌;不结实的建筑物被破坏! endl;else if (magnitude 7.0)cout 本次地震后果:烟囱倒塌;普通建筑物被破坏!
3、endl; else if (magnitude 8.0)cout 本次地震后果:地下管线破裂;结实的建筑物也被破坏! endl; else (cout 本次地震后果:地面波浪状起伏;大多数建筑物损毁! endl;return 0;)Q6.(io分)写一个程序从键盘输入1到7中的某个数字,其中1代表星期天,2代表星期一,3代表星期二等。根据用户输入的数字显示相应的星期几。如果用户输入的数字超出了1到7的范围,显示输出一个错误提示信息。*输入格式要求:整数,提示信息:cout Please input a singlenumeral(1-7):*的出格式要求: Monday(星期几的英文单词首字
4、母大写加换行)提示信息:Invalid - please input a single numeral (1-7)(加换行)#includeusing namespace std;int main ()(int a;cout a;if (a 7)|cout nInvalid - please input a single numeral(1-7). end )switch (a)case 1:cout nSundayM endl;break;case 2:cout Mondayn endl;break;case 3:cout Tuesday endl;break;case 4:cout Wed
5、nesdayn endl;break;case 5:cout Thursday endl;break;case 6:cout Friday endl;break;case 7:cout Saturdayn endl;break;return 0;)Q7.(io分)有一天,一位百万富翁遇到一个陌生人,陌生人找他谈一个换钱的计划,陌生人对百万富翁说:“我每天给你10万元,而你第一天只需给我I 分钱,第二天我仍给你10万元,你给我2分钱,第三天我仍给你10万元,你给我4分钱。你每天给我的钱是前一天的两倍,直到满一个月(30天)为止”,百万富翁很高兴,欣然接受了这个契约。请编程计算在这一个月中陌生人总
6、计给百万富翁多少钱,百万富翁总计给陌生人多少钱。*输入提示信息和数据格式:无*输出提示信息和数据格式:cout 百万富翁给陌生人: toStranger 元 endl;cout 陌生人给百万富翁: toRichman 元” endl;#include using namespace std; int main()(int j;double toStranger =0;/富翁给陌生人的钱,以,无,为单位*/double toRichman =0;/生人给富翁的钱,以,元,为单位*/double term = 0.01;*富翁第一天给陌生人0.01元*/for (j =1; j =30; j+)t
7、oRichman +=100000;/*陌生人每天给富翁10万元*/ toStranger += term;term = term *2;/*富Q每天给附生人的钱是前一大的两倍)cout ”百万富翁给陌生人: toStranger 元 endl;cout ”陌生人给百万富翁:” toRichman 元 endl;return 0;Q8.(10分)编程计算自然数的立方和,直到立方和大于等于1000000时为止。统计并输出实际累加的项数。输出格式要求:cout,zsum=,sumendl;cout ”count = i endl;输出结果为:sum=1071225 count =45#includ
8、e using namespace std; int main()long i, sum =0; for (i =1; i+)(sum = sum + i * i * i; if (sum =1000000) break; coutnsum=nsumendl;cout ncount = i endl;return 0;Q9.(10分)求多项式l!+2!+3!+15!的值。输出格式要求:cout,zs=z,sendl;#includeusing namespace std;int main()(int n =1, s =0;for (int i =1; i =15; i+) n = n * i;
9、 s += n;)cout s= s endl;return 0;Q10.(10分)求1至200之间的所有质数,将质数和存入变量sum中并输出。质数(素数)的说明:“质数是只能被1和其本身整除的数”。输入提示要求:无输出结果格式要求:质数之间以一个空格隔开输出所有质数后换行输出:sum=4227#include#includeusing namespace std; int main()|int N, m, sum =0;for (m =2; m =200; m+)(int i, tmp =(int)sqrt(m);for (i =2; i tmp)( cout m n; sum += m;)
10、 cout endl; cout nsum=n sum endl; return 0;Qll.(10分)在一个已知的一维数组中分类统计正数和负数的个数。正数的个数存入变量Cl中量C2中.输出格式要求:cout cl= cl endl;cout c2= c2 endl;#include using namespace std; int main() int a10 = 1, -2Z int cl = 0, c2 = 0; int i;for (i = 0; i 0) cl+;else if (ai c2+;cout ncl=n cl cout c2= c2 return 0;0, 4, -5,
11、0r 7, 8, -9, 10i + +)0) endl; endl;Q12. (10分)在包含10个数的一维整数数组a中查找最大元素max和最小元 素 mino 输出格式要求:cout 最大元素: max endl;cout 最小元素:“ min endl;#include using namespace std;int main()(int a10 = 32, 43, 65, 23, 432, 543, 543, 54, 542, 87; int i;int max, min;max = a 0r min = a0;for (i = 1; i max) max = ai; if (ai m
12、in) min = a i;cout “最大元素: max endl;cout “最小元素: min endl;return 0;)sumoQI3.(10分)用while循环编程,求自然数1至100之间各奇数平方和输出结果格式为:sum=166650#includeusing namespace std; int main()int i =1, sum =0;while (i =100)sum += i * i;i +=2; cout sum= sum endl;return 0;Q14.(10分)判断一个数23437是否是素数(要求程序中设置一个参数 flag, flag为1代表是素数,为0
13、代表不是)输出结果:0#include#includeusing namespace std;int main ()(int m, n, flag =1; m =23437;for (n =2; n = m /2& flag; n+) if (m % n =0)flag =0;cout flag endl;return 0;)Q15.(10分)已知一个数m(=252),用循环求各位数字之和。输出结果格式:s=9#includeusing namespace std;int main ()(int m =252, a, b, c, s;a = m /100;b = m /10%10;c = m
14、%10;s = a + b + c;cout s= s endl;return 0;Q16.(10分)已知一个数m(=252),用循环求各位数字之积。输出结果格式:f=20#includeusing namespace std;int main()int m, f=l r n;m=252;while (m !=0)n=m%10;f *=n; m=m/10; coutn f=nfendl; return 0;Q17.(10分)已知10个四位数输出所有对称数及个数no例如1221,2332都是对称数。设:int m10=1221,2243,2332,1435,1236,5623,4321,4356
15、,6754,3234);输出结果:12212332#include using namespace std;int main()int i, n =0, m10=1221,2243,2332,1435,1236,5623,4321,4356, for (i =0; i 10; i+)int a, b, c, d;a = m i/ b = m i % c = m i% d = m i % if (a = d1000;1000/100;100/10;10;& c = b)cout mi endl; n+;)return 0;QI8.(10分)将1-100之间奇数顺序累加存入n中,直到其和等于或大于
16、200为止。输出结果格式:n=225#includeusing namespace std; int main()(int n =0, i =1;while (n 200)( n = n + i; i +; i+;cout n= n endl;return 0;Q19.(io分)从键盘上输入三个整数,编写程序求出三个数中的最大值输入格式要求:COUtG”请输入三个整数:”;输出格式要求:cout”最大值是:“maxendl;#include using namespace std;int main()(int a, b, c, tr max;cout ”请输入三个整数:cin a b c; i
17、f (a b)(t = a;a = b;b = t;if (a c)|t = a;a = c;c = t;max = a;cout 最大值是: max endl;return 0;)Q20.(10分)输入年份和月份,编写程序,判断这一年该月份的天数。输入格式要求:cout请输入年份和月份:“;输出格式要求:cout year 年 month 月“是 day 天。 endl;#includeusing namespace std; int main()int year, month, day;cout year month; switch (month)case 1:case 3:case 5:
18、case 7:case 8:case 10:case 12: day =31; break;case 4:case 6:case 9:case 11:day =30;break;case 2:if (year %400=0| year %4=0& year %100!=0) day =29;elseday =28;break;cout year 年 month 月是 day 夭。 enreturn 0;Q21.(10分)编写程序,求解下面的分段函数:C x-8,-10x0产x, x=0I x*x,0x10输入格式要求: cout 请输入 X:”;输出格式要求:cout Hy=M y endl;
19、#includeusing namespace std;int main()(double x,y;请输入 X : n ;cinx;if(x-10&x0&x10) y=x*x;coutny=Hyendl;return 0;Q22.(10分)用“辗转相除方法”计算两个数x.y的最大公约数。输入格式要求:无,直接输入输出格式要求:无,直接输出结果#include using namespace std; int main()( int x, y, n; cin x y; n = x % y; while (n !=0)x = y; V = n; n = x % y; cout y endl; re
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 大学 题库 答案
限制150内