欢迎来到淘文阁 - 分享文档赚钱的网站! | 帮助中心 好文档才是您的得力助手!
淘文阁 - 分享文档赚钱的网站
全部分类
  • 研究报告>
  • 管理文献>
  • 标准材料>
  • 技术资料>
  • 教育专区>
  • 应用文书>
  • 生活休闲>
  • 考试试题>
  • pptx模板>
  • 工商注册>
  • 期刊短文>
  • 图片设计>
  • ImageVerifierCode 换一换

    大学最新C++题库及答案.docx

    • 资源ID:89110781       资源大小:153.46KB        全文页数:100页
    • 资源格式: DOCX        下载积分:25金币
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录   QQ登录  
    二维码
    微信扫一扫登录
    下载资源需要25金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    大学最新C++题库及答案.docx

    Q5.(10分)写一个程序根据从键盘输入的里氏强度显示地震的后果。根据里氏强度地震的后果如下:里氏强度 后果小于4很小4.0到5.0窗户晃动5.0到6.0墙倒塌;不结实的建筑物被破坏6.0到7.0烟囱倒塌;普通建筑物被破坏7.0到8.0地下管线破裂;结实的建筑物也被破坏超过8.0地面波浪状起伏;大多数建筑物损毁*输入格式要求:实数, 提示信息:cout << "请输入地震的里氏强度: " << endl;*输出格式要求:"本次地震后果:很小!""本次地震后果:窗户晃动!""本次地震后果:墙倒塌;不结实的建筑物被破坏!""本次地震后果:烟囱倒塌;普通建筑物被破坏!""本次地震后果:地下管线破裂;结实的建筑物也被破坏!""本次地震后果:地面波浪状起伏;大多数建筑物损毁!"#include <iostream>using namespace std;int main()    double magnitude;      cout << "请输入地震的里氏强度: " << endl;    cin >> 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 << "本次地震后果:烟囱倒塌;普通建筑物被破坏!" << endl;        else if (magnitude < 8.0)            cout << "本次地震后果:地下管线破裂;结实的建筑物也被破坏!" << endl;        else            cout << "本次地震后果:地面波浪状起伏;大多数建筑物损毁!" << endl;          return 0;Q6.(10分)写一个程序从键盘输入1到7中的某个数字,其中1代表星期天,2代表星期一,3代表星期二等。根据用户输入的数字显示相应的星期几。如果用户输入的数字超出了1到7的范围,显示输出一个错误提示信息。*输入格式要求:整数, 提示信息:cout << "Please input a single numeral(1-7): "*输出格式要求:"Monday" (星期几的英文单词首字母大写加换行) 提示信息:"Invalid - please input a single numeral(1-7)."(加换行)#include<iostream>using namespace std;int main()    int a;    cout << "Please input a single numeral(1-7): "    cin >> a;    if (a < 1 | 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" << endl;        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天)为止”,百万富翁很高兴,欣然接受了这个契约。请编程计算在这一个月中陌生人总计给百万富翁多少钱,百万富翁总计给陌生人多少钱。*输入提示信息和数据格式:无*输出提示信息和数据格式:cout << "百万富翁给陌生人:" << toStranger << "元" << endl; cout << "陌生人给百万富翁:" << toRichman << "元" << endl;#include <iostream>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+)            toRichman += 100000; /* 陌生人每天给富翁10万元 */        toStranger += term;        term = term * 2;      /* 富翁每天给陌生人的钱是前一天的两倍 */        cout << "百万富翁给陌生人:" << toStranger << "元" << endl; cout << "陌生人给百万富翁:" << toRichman << "元" << endl;    return 0;Q8.(10分)编程计算自然数的立方和,直到立方和大于等于1000000时为止。统计并输出实际累加的项数。输出格式要求:cout<<"sum="<<sum<<endl; cout << "count =" << i << endl;输出结果为: sum=1071225 count =45#include <iostream>using namespace std;int main()    long i, sum = 0;    for (i = 1; ; i+)            sum = sum + i * i * i;        if (sum >= 1000000)  break;        cout<<"sum="<<sum<<endl;    cout << "count =" << i << endl;    return 0;Q9.(10分)求多项式 1!+2!+3!+15!的值。输出格式要求:cout<<"s="<<s<<endl;#include<iostream>using namespace std;int main()    int n = 1, s = 0;    for (int i = 1; i <= 15; i+)            n = n * i;        s += n;        cout << "s=" << s << endl;    return 0;                                                                             Q10.(10分)求1至200之间的所有质数,将质数和存入变量 sum 中并输出。质数(素数)的说明:“质数是只能被1和其本身整除的数”。输入提示要求:无输出结果格式要求:质数之间以一个空格隔开输出所有质数后换行输出:sum=4227#include<iostream>#include<cmath>using 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; i+)            if (m % i = 0)                break;        if (i > tmp)                    cout << m << " "            sum += m;                cout << endl;    cout << "sum=" << sum << endl;    return 0;Q11.(10分)在一个已知的一维数组中分类统计正数和负数的个数。正数的个数存入变量C1中,负数个数存入变量C2中.输出格式要求:cout << "c1=" << c1 << endl; cout << "c2=" << c2 << endl;#include <iostream>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 < 10; i+)        if (ai > 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; cout << "最小元素:" << min << endl;#include <iostream>using namespace std;int main()    int a10 = 32, 43, 65, 23, 432, 543, 543, 54, 542, 87;    int i;    int max, min;    max = a0, min = a0;    for (i = 1; i < 10; i+)            if (ai > max) max = ai;        if (ai < min) min = ai;        cout << "最大元素:" << max << endl;    cout << "最小元素:" << min << endl;    return 0;Q13.(10分)用while循环编程,求自然数1至100之间各奇数平方和sum。输出结果格式为:sum=166650#include<iostream>using 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代表不是)输出结果:0#include<iostream>#include<cmath>using 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#include<iostream>using namespace std;int main()    int m = 252, a, b, c, s;    a = m / 100;    b = m / 10 % 10;    c = m % 10;    s = a + b + c;    cout << "s=" << s << endl;    return 0;Q16.(10分)已知一个数m(=252),用循环求各位数字之积。输出结果格式:f=20#include<iostream>using namespace std;int main()   int m, f=1,n;   m=252;   while (m !=0)           n=m%10;       f*=n;       m=m/10;        cout<<"f="<<f<<endl;    return 0;Q17.(10分)已知10个四位数输出所有对称数及个数n。例如1221,2332都是对称数。设:int m10 = 1221, 2243, 2332, 1435, 1236, 5623, 4321, 4356, 6754, 3234;输出结果:1221 2332#include <iostream>using namespace std;int main()    int i, n = 0, m10 = 1221, 2243, 2332, 1435, 1236, 5623, 4321, 4356, 6754, 3234;    for (i = 0; i < 10; i+)            int a, b, c, d;        a = mi / 1000;        b = mi % 1000 / 100;        c = mi % 100 / 10;        d = mi % 10;        if (a = d && c = b)                    cout << mi << endl;            n+;                return 0;Q18.(10分)将1-100之间奇数顺序累加存入n中,直到其和等于或大于200为止。输出结果格式:n=225#include<iostream>using namespace std;int main()    int n = 0, i = 1;    while (n < 200)            n = n + i;        i+;        i+;        cout << "n=" << n << endl;    return 0;Q19.(10分)从键盘上输入三个整数,编写程序求出三个数中的最大值。输入格式要求:cout<<"请输入三个整数:"输出格式要求:cout<<"最大值是:"<<max<<endl;#include <iostream>using namespace std;int main( )    int a, b, c, t, max;    cout << "请输入三个整数:"    cin >> a >> b >> c;    if (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;#include<iostream>using namespace std;int main()    int year, month, day;    cout << "请输入年份和月份:"    cin >> year >> month;    switch (month)        case 1:    case 3:    case 5:    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;        else            day = 28;        break;        cout << year << "年" << month << "月" << "是" << day << "天。" << endl;    return 0; Q21.(10分)编写程序,求解下面的分段函数:输入格式要求: cout << "请输入x:"输出格式要求: cout << "y="<< y << endl;#include<iostream>using namespace std;int main()    double x,y;    cout<<"请输入x:"    cin>>x;    if(x>-10&&x<0) y=x-8;    if(x=0)   y=x;    if(x>0&&x<10) y=x*x;    cout<<"y="<<y<<endl;    return 0;Q22.(10分)用“辗转相除方法”计算两个数 x,y 的最大公约数。输入格式要求:无,直接输入输出格式要求:无,直接输出结果#include<iostream>using namespace std;int main()    int x, y, n;    cin >> x >> y;    n = x % y;    while (n != 0)            x = y;        y = n;        n = x % y;        cout << y << endl;    return 0;Q23.(10分)利用选择法将下面10个数按降序排列。有如下定义:int n10 = 5, 6, 4, 2, 3, 7, 8, 5, 6, 7;输入格式要求:无输出格式要求:以逗号分隔降序数列#include<iostream>using namespace std;int main()    int n10 = 5, 6, 4, 2, 3, 7, 8, 5, 6, 7, i, j, k, t;    for (i = 0; i < 9; i+)            k = i;        for (j = i + 1; j < 10; j+)            if (nk < nj)                k = j;        t = ni;        ni = nk;        nk = t;        for (j = 0; j < 10; j+)        cout << nj << ","    return 0;Q24.(10分)定义数组,输入不多于20名若干学生成绩,统计高于平均分的人数k,用-1做结束标志。输入格式要求:无输出格式要求:cout << "高于平均分的人数:" << k << endl;#include <iostream>using namespace std;int main()    double cj20, aver, sum = 0;    int n = 0, k = 0, i;    cin >> cj0;    while (cjn >= 0)            sum += cjn;        n+;        cin >> cjn;        aver = sum /( n-1);    for (i = 0; i < n-1; i+)        if (cji > aver) k+;    cout << "高于平均分的人数:" << k << endl;    return 0;Q25.(10分)已知三个数a,b,c,按由小到大的顺序存入a,b,c中并输出.输入格式要求:cout << "输入三个整数:"输出格式要求:cout << "由小到大的顺序是:" << a << "," << b << ","<<c<<endl;#include <iostream>using namespace std;int main()    int a, b, c, t;    cout << "输入三个整数:"    cin >> a >> b >> c;    if (a > b)            t = a;        a = b;        b = t;        if (a > c)            t = a;        a = c;        c = t;        if (b > c)            t = b;        b = c;        c = t;        cout << "由小到大的顺序是:" << a << "," << b << ","<<c<<endl;    return 0; Q26.(10分)编程计算 sum=1!+2!+.+9!。输入格式要求: 无输出格式要求: cout <<"sum= " << sum << endl;#include<iostream>using namespace std;int main()   int sum=0;   for (int i=1; i<=9; i+)         int x=1;      for (int j=1;j<=i;j+)         x=x*j;      sum=sum+x;      cout <<"sum= " << sum << endl;    return 0;Q27.(10分)编写函数,删除字符串中的指定字符,函数原型为:void deletechar(char *string, char ch);设char c100 = "abcdabcd aabbccdd"输出结果:bcdbcd bbccdd#include<cstring>#include<iostream>using namespace std;void deletechar(char *string, char ch)    int i(0), k(0);    while (stringi+ != '0')        if (stringi != ch)            stringk+ = stringi;    stringk = '0'int main ()    char c100 = "abcdabcd  aabbccdd"    deletechar(c, 'a');    cout << c << endl;    return 0;Q28.(10分)编写函数,将一个十进制无符号整数转换为二进制整数,函数原型为:void transform(char*p,long i,int base=2);#include <iostream>using namespace std;void transform(char*p, long i, int base = 2)    int r(0), k(0);    char t128;    while (i > 0)            r = i % base;        if (r < 10)            tk = r + 48;        else            tk = r + 55;        i = i / base;        k+;        k-;    r = 0;    while (k >= 0)            *(p + r) = tk;        r+;        k-;        *(p + r) = '0'int main()    char c256;    transform(c, 45678, 2);    cout << c << endl;    return 0;Q29.(10分)输入10个学生的成绩,存放在一个一维数组中,求出总分和平均分。输入提示信息格式要求: cout << "请输入学生的分数:"输出结果格式要求:cout << "学生的总分是:" << sum << endl; cout << "学生的平均分是:" << aver << endl;#include<iostream>#include<iomanip>using namespace std;int main()    int a10, sum, aver, i;    sum = 0;    cout << "请输入学生的分数:"    for (i = 0; i <= 9; i+)        cin >> ai;    for (i = 0; i <= 9; i+)        sum = sum + ai;    aver = sum / 10;    cout << "学生的总分是:" << sum << endl;    cout << "学生的平均分是:" << aver << endl;    return 0;Q30.(10分)输入10个学生的成绩,存放在一个一维数组中,找出其中的最高分和所对应的学生。输入提示信息格式要求:cout << "请输入学生的分数:"输出提示信息格式要求:cout << "第" << n + 1 << "名学生的分数最高,是:" << max << endl;#include<iostream>using namespace std;int main()    int a10, max, i, n;    cout << "请输入学生的分数:"    for (i = 0; i <= 9; i+)        cin >> ai;    max = a0;    for (i = 1; i <= 9; i+)        if (max < ai)                    max = ai;            n = i;            cout << "第" << n + 1 << "名学生的分数最高,是:" << max << endl;    return 0;Q31.(10分)求一个3×3矩阵的对角线元素之和。输入提示信息格式要求: cout << "请输入3行3列矩阵的元素:" << endl;输出提示信息格式要求: cout << "请输出这个3行3列的矩阵:" << endl; cout << "对角线元素之和为:" << sum << endl;#include<iostream>#include<iomanip>using namespace std;int main()    double a33, sum = 0;    int i, j;    cout << "请输入3行3列矩阵的元素:" << endl;    for (i = 0; i < 3; i+)        for (j = 0; j < 3; j+)            cin >> aij;    cout << "请输出这个3行3列的矩阵:" << endl;    for (i = 0; i < 3; i+)            for (j = 0; j < 3; j+)            cout << setw(5) << aij;        cout << endl;        for (i = 0; i < 3; i+)        sum += aii;    cout << "对角线元素之和为:" << sum << endl;    return 0;Q32.(10分)用公式 =4-4/3+4/5-4/7+.)计算的近似值,直到最后一项绝对值小于1e-5输入格式要求:无输出结果格式要求: cout << "pi =" << pi << endl;#include<iostream>using namespace std;int main()    double pi = 0;    double n = 1;    int f = 1;    while (4.0 / n >= 1e-5)            pi = pi + f * 4 / n;        n = n + 2;        f = -f;        cout << "pi =" << pi << endl;    return 0;Q33.(10分)求一个4×4矩阵的四周元素之和。输入提示信息格式要求:cout << "请输入4行4列矩阵的元素:" << endl;输出提示信息格式要求:cout << "请输出这个4行4列的矩阵:" << endl; cout << "四周元素之和为:" << sum << endl;#include <iostream>#include<iomanip>using namespace std;int main()    double a44, sum = 0;    int i, j;    cout << "请输入4行4列矩阵的元素:" << endl;    for (i = 0; i < 4; i+)        for (j = 0; j < 4; j+)            cin >> aij;    cout << "请输出这个4行4列的矩阵:" << endl;    for (i = 0; i < 4; i+)            for (j = 0; j < 4; j+)      

    注意事项

    本文(大学最新C++题库及答案.docx)为本站会员(叶***)主动上传,淘文阁 - 分享文档赚钱的网站仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知淘文阁 - 分享文档赚钱的网站(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于淘文阁 - 版权申诉 - 用户使用规则 - 积分规则 - 联系我们

    本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

    工信部备案号:黑ICP备15003705号 © 2020-2023 www.taowenge.com 淘文阁 

    收起
    展开