• 四则运算C语言程序


     1 #include<stdio.h>
     2 #include<Windows.h>
     3 #include<time.h>
     4 void main()
     5 {
     6     int a, b, c, d,i,m,n;
     7     float p, q;
     8     srand(unsigned( time(NULL)));
     9     for (i = 0; i < 30; i++)
    10     {
    11         a = rand() % 100;
    12         b = rand() % 100;
    13         c = rand() % 5;
    14         switch (c)
    15         {
    16         case 0: printf("%d + %d =
    ", a, b);
    17             break;
    18         case 1:if (a < b)
    19         {
    20                    d = a;
    21                    a = b;
    22                    b = d;
    23         }
    24                printf("%d - %d =
    ", a, b);
    25                break;
    26         case 2:printf("%d * %d =
    ", a, b);
    27             break;
    28         case 3:
    29             while (b == 0)
    30             {
    31                 b = rand() % 100;
    32             }
    33             printf("%d / %d =
    ", a, b);
    34             break;
    35         case 4:
    36             a = rand() % 100;
    37             b = rand() % 100;
    38             m = rand() % 100;
    39             n = rand() % 100;
    40             c = rand() %4 ;
    41             while (b == 0)
    42             {
    43                 b = rand() % 100;
    44             }
    45             while (n == 0)
    46             {
    47                 n = rand() % 100;
    48             }
    49             if (a > b)
    50             {
    51                 d = a;
    52                 a = b;
    53                 b = d;
    54             }
    55             if (m > n)
    56             {
    57                 d = m;
    58                 m = n;
    59                 n = d;
    60             }
    61             switch (c)
    62             {
    63             case 0:printf("%d/%d + %d/%d =
    ", a, b, m, n);
    64                 break;
    65             case 1:
    66                 p = (float)a / (float)b;
    67                 q = (float)m / (float)n;
    68                 if (p < q)
    69                 {
    70                     d = a;
    71                     a = m;
    72                     m = d;
    73                     d = b;
    74                     b = n;
    75                     n = d;
    76                 }
    77                 printf("%d/%d - %d/%d =
    ", a,b,m,n);
    78                 break;
    79             case 2:printf("%d/%d * %d/%d =
    ", a, b, m, n);
    80                 break;
    81             case 3:
    82                 a = rand() % 100;
    83                 b = rand() % 100;
    84                 m = rand() % 100;
    85                 n = rand() % 100;
    86                 c = rand() % 4;
    87                 while (m == 0)
    88                 {
    89                     m = rand() % 100;
    90                 }
    91                 printf("%d/%d / %d/%d =
    ", a, b, m, n);
    92                 break;
    93             }
    94         }
    95     }
    96     system("pause");
    97 }

    阿超有个儿子上小学二年级,老师每天让家长给孩子出30道加减法题,虽然不多,但是每天都做也算是个负担,阿超作为一个老牌程序员当然想用计算机来解决这个小问题,目前对于这个问题对于任何语言都不是问题

    题目要求:

    • 能自动生成小学四则运算题目(注意是给小学生用的,要是结果出现负数的话他们会迷茫的!)
    • 除了整数外,还要支持真分数的四则运算

    题目分析:1.由于是给小学生用的,所以要求运算的时候不能有负数,因此,减法运算时,前面的数一定要大于后面的数。

                  2.除法运算的规则,分母不能为0。

                  3.题目要求支持真分数,由真分数的概念知,分子不能大于分母的数。

                  4.因为题目要求是随机30道题,所以运用随机生成数函数srand()和rand()。

    程序运行截图:

    总结:

    因为只学过C语言和C++,而C++用的不是太熟,所以就选择的用C语言完成此次作业,编程用了一上午的时间,由于之前不知道随机生成函数和include<time.h>,所以在班级同学的帮助下,顺利的完成了此次作业。

    这次作业不仅提高了我运用C语言编程的熟练度,还学习到了随机生成数函数。期待下次的作业练习

    恩,就是这样!

  • 相关阅读:
    C#校验算法列举
    SuperSocket1.6电子书离线版
    C#检测系统是否激活[转自StackOverFlow]
    WSMBT Modbus & WSMBS Modbus 控件及注册机
    AU3获取系统激活信息
    JavaScript跨浏览器事件处理
    OAuth2的学习小结
    R学习日记——分解时间序列(季节性数据)
    R学习日记——分解时间序列(非季节性数据)
    Java内存分配原理
  • 原文地址:https://www.cnblogs.com/bjzsr/p/5268377.html
Copyright © 2020-2023  润新知