《大学最新C++题库及答案.doc》由会员分享,可在线阅读,更多相关《大学最新C++题库及答案.doc(108页珍藏版)》请在金锄头文库上搜索。
1、C+题库答案Q5.(10分)写一个程序根据从键盘输入的里氏强度显示地震的后果。根据里氏强度地震的后果如下:里氏强度 后果小于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 本次地震后果:烟囱倒塌;普通建筑物被破坏! end
3、l;else if (magnitude 8.0)cout 本次地震后果:地下管线破裂;结实的建筑物也被破坏! endl;elsecout 本次地震后果:地面波浪状起伏;大多数建筑物损毁! endl;return 0;Q6.(10分)写一个程序从键盘输入1到7中的某个数字,其中1代表星期天,2代表星期一,3代表星期二等。根据用户输入的数字显示相应的星期几。如果用户输入的数字超出了1到7的范围,显示输出一个错误提示信息。*输入格式要求:整数, 提示信息:cout Please input a single numeral(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 Invalid - please input a single numeral(1-7). endl;switch (a)case 1:cout Sunday endl;break;case 2:cout Monday endl;break;case 3:cout Tuesday endl;break;case 4:cout Wednesday end
5、l;break;case 5:cout Thursday endl;break;case 6:cout Friday endl;break;case 7:cout Saturday endl;break;return 0;Q7.(10分)有一天,一位百万富翁遇到一个陌生人,陌生人找他谈一个换钱的计划,陌生人对百万富翁说:“我每天给你10万元,而你第一天只需给我1分钱,第二天我仍给你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+)toRi
7、chman += 100000; /* 陌生人每天给富翁10万元 */toStranger += term;term = term * 2; /* 富翁每天给陌生人的钱是前一天的两倍 */cout 百万富翁给陌生人: toStranger 元 endl;cout 陌生人给百万富翁: toRichman 元 endl;return 0;Q8.(10分)编程计算自然数的立方和,直到立方和大于等于1000000时为止。统计并输出实际累加的项数。输出格式要求:coutsum=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;coutsum=sumendl;cout count = i endl;return 0;Q9.(10分)求多项式 1!+2!+3!+15!的值。输出格式要求:couts=sendl;#includeusing namespace std;int main()int n = 1, s = 0;for (int i = 1; i = 15; i+)n = n * i;s +=
9、 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 ;sum += m;cout e
10、ndl;cout sum= sum endl;return 0;Q11.(10分)在一个已知的一维数组中分类统计正数和负数的个数。正数的个数存入变量C1中,负数个数存入变量C2中.输出格式要求:cout c1= c1 endl; cout c2= c2 endl;#include using namespace std;int main()int a10 = 1, -2, 0, 4, -5, 0, 7, 8, -9, 10;int c1 = 0, c2 = 0;int i;for (i = 0; i 0)c1+;else if (ai 0)c2+;cout c1= c1 endl;cout c2= c2 endl;return 0;Q12.(10分)在包含10个数的一维整数数组a中查找最大元素max和最小元素min。输出格式要求:cout 最大元素: max endl; cou