zoukankan      html  css  js  c++  java
  • 四则运算题目的程序

    此次作业要求:

    编写一个能自动生成小学四则运算题目的程序。

    除了整数以外,还能支持分数的四则运算。

    对实现的功能进行描述,并且对实现结果要求截图。

    题目:自动生成四则运算

    主要功能:可以简单方便快的练习加减乘除的运算,完成一些自测的练习。编程软件选择了Visual Studio 2015。

    会有三个界面:有分数,整数和退出选项

    当选择整数时会有十道题目,如果做对会提示“恭喜你答对了做的不错!“如果做错会提示"答案错误请继续努力”十道题都做完时会出现成绩和分数,整数和退出选项。

    分数四则运算里会有随机的题供做后面是答案可以参考。

    退出选项点击后会有个再见的文字界面。

     

    #include<stdio.h>
    #include<stdlib.h>
    #include<time.h>
    #include<math.h>
    void Shengcheng();
    void Simple();
    void real();
    void result();
    int MaxGYS(int a, int b);
    int system(const char *string);
    
    int main(void)
    {
        int n;
    Loop1: printf("
    
    
    
    			耿丹13计科-1胡新宇
    
    			[1] 小学数学无分数十道四则运算练习题
    
    			[2]小学数学分数四则运算练习题
    
    			[3] 退出程序
    
    			请输入相应的选项,按回车键确定:");
        scanf_s("%d", &n);
        system("cls");
        if (n == 1)
            Shengcheng();//到整数十道题界面
        else
            if (n == 2)
                result();//分数界面
        else
            if (n == 3)
            {
                printf("
    
    
    
    
    
    		再见
    
    		");//退出界面
                return 0;
            }
            else
                printf("输入错误请重新输入");//错误提示
        goto Loop1;//回到主界面
        return 0;
    }
    
    void Shengcheng()//整数十道运算随机题
    {
        int i, a, b, p, q, r, c, sum = 0, d = 0, e = 0;
        srand((unsigned)time(NULL));
        printf("请做下面十道四则运算题,加油哦!
    
    ");
        for (i = 0; i < 10; i++)
    { a
    = rand() % 50; b = rand() % 50; p = rand() % 50; q = rand() % 50; r = rand() % 50; while (r == 0) { i--; } while (r != 0) { printf("请输入你的答案:%d+%d-%d*%d/%d=", a, b, p, q, r); scanf_s("%d", &c); printf(" "); if ((a + b - p*q / r) == c) { printf("恭喜你答对了!干的不错! "); sum = sum + 10; e = e + 1; } else { printf("答案错误!请继续努力! "); d = d + 1; } break;//返回 } continue; } printf("你总共答对了%d道题,答错了%d道题。 ", e, d); printf("你的得分为:%d分继续努力哟! ", sum); return ; } void Simple() { int m, b, c, d, t; m = rand() % 3 + 1; b = rand() % 20 + 1; c = rand() % 20 + 1; switch (m) { case 1: { d = b + c; printf("%d+%d= %d ", b, c, d); }break; case 2: { if (b>c) { t = b; b = c; c = t; } d = b - c; printf("%d-%d= %d ", b, c, d); }break; case 3: { d = b*c; m = rand() % 2 + 1; if (m == 1) printf("%d*%d= %d ", b, c, d); else printf("%d/%d= %d ", d, b, c); } break; } return; } void real()//分子分母 { int a, b, c, d, e, f, g, h, t; a = rand() % 4 + 1; b = rand() % 9 + 1;//第一个数字分子 c = rand() % 9 + 1;//第一个数字分母 d = rand() % 9 + 1;//第二个数字分子 e = rand() % 9 + 1;//第二个数字分母 if (b>c) { t = b; b = c; c = t; } if (d>e) { t = d; d = e; e = t; }
    switch (a) { case 1: { f = c*e; g = b*e + d*c; h = MaxGYS(g, f); f = f / h; g = g / h; printf("(%d/%d)+(%d/%d)= (%d/%d) ", b, c, d, e, g, f); }break; case 2: { f = c*e; g = b*e - d*c; if (g>0) { h = MaxGYS(g, f); f = f / h; g = g / h; printf("(%d/%d)-(%d/%d)= (%d/%d) ", b, c, d, e, g, f); } else { g = abs(g); h = MaxGYS(g, f); f = f / h; g = g / h; printf("(%d/%d)-(%d/%d)= (%d/%d) ", d, e, b, c, g, f); } }break; case 3: { f = c*e; g = b*d; h = MaxGYS(g, f); f = f / h; g = g / h; printf("(%d/%d)*(%d/%d)= (%d/%d) ", b, c, d, e, g, f); }break; case 4: { f = b*e; g = c*d; h = MaxGYS(g, f); f = f / h; g = g / h; printf("(%d/%d)/(%d/%d)= (%d/%d) ", b, c, d, e, g, f); } default:break; } return; } int MaxGYS(int a, int b)//定义a,b中的最大值为整型变量 { int c, t; if (a<b) { t = a; a = b; b = t; } while (b != 0) { c = a%b; a = b; b = c; } return a; } void result()//分数四则随机题 { int m, i; for (i = 0; i<30; i++) { m = rand() % 2 + 1; if (m == 1) Simple(); else real(); } system("pause"); system("cls"); system("pause"); system("cls"); return ; }

    调试运行结果:

    选择1会进入如下界面

    当你做完第一个就会有正确错误的提示

    做完十道题会有得分

    重新选择要进入的项目选择2如下图:

    前面是题目后面是答案可以方便做题人审核。

    选择第三项退出后会出现下图:

    因为本人并不能自己打出代码只能在网上搜索,因为学习也是一种积累,以前都是老师给代码自己照着打,但是这次是自己去寻找代码,不停的调试调试,来运行出程序,感觉又是一种不同的体验,在这篇代码中有调试不出来的就在百度中搜索也能了解不少知识。在借鉴中学习,不断地积累,把更多的知识去消化转化为自己的知识,让自己也可以编出代码,来更好地完成老师布置的作业,使自己有更大的提升,上课跟随着老师的脚步,一步一步的学好软件工程这门课程。

  • 相关阅读:
    精准医疗
    生物信息学的研究过程
    蛋白质结构预测
    CP
    基因组大小控制因素
    RNA组研究困难
    输入input文本框的 U+202D和U+202C是什么
    ruby-get-url-query-params
    golang send post request
    nginx location配置
  • 原文地址:https://www.cnblogs.com/hxy94264/p/5271316.html
Copyright © 2011-2022 走看看