四則運算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 =\n", 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 =\n", a, b);
25                break;
26         case 2:printf("%d * %d =\n", a, b);
27             break;
28         case 3:
29             while (b == 0)
30             {
31                 b = rand() % 100;
32             }
33             printf("%d / %d =\n", 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 =\n", 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 =\n", a,b,m,n);
78                 break;
79             case 2:printf("%d/%d * %d/%d =\n", 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 =\n", 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語言編程的熟練度,還學習到了隨機生成數函數。期待下次的作業練習

恩,就是這樣!


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM