小学生300道练习题程序及问题
題目要求:自動生成一百以內(nèi)數(shù)的四則運(yùn)算;同時也支持真分?jǐn)?shù)的四則運(yùn)算;
根據(jù)題目要求,決定使用隨機(jī)數(shù)函數(shù)srand(),rand()函數(shù)來產(chǎn)生操作數(shù),rand()%100即可產(chǎn)生一百以內(nèi)的數(shù)。rand()%4來產(chǎn)生0~3四個數(shù)來選擇四則運(yùn)算。
#include<stdio.h>
#include<time.h>
#include<Windows.h>
#include<stdlib.h>
void main()
{
?? int a, b,c,d,i,op,x;
?? srand(unsigned(time(NULL)));
???printf("請選擇類型:\n1 整數(shù)四則運(yùn)算;\n2 真分?jǐn)?shù)四則運(yùn)算;\n");
?? scanf("%d", &x);
? switch (x)
? {
?? case 1:
?? {
?? for (i = 0; i < 30; i++)
???{
????? a = rand() % 100;
????? b = rand() % 100;
????? op = rand() % 4;
????? if (op == 0)
?????? printf("%d + %d =\n", a, b);
????? else if (op == 1 && a>b)
?????? printf("%d - %d =\n", a, b);
????? else if (op == 2)
?????? printf("%d * %d =\n", a, b);
????? else if (op == 3 && b != 0)
?????? printf("%d ÷ %d =\n", a, b);
???? }
??break;
?? }
? case 2:
? {
????? for (i = 0; i < 30; i++)
???{
????? a = rand() % 100;
????? b = rand() % 100;
????? while (b==0)
?????? b = rand() % 100;
????? c = rand() % 100;
????? while (c==0)
?????? c = rand() % 100;
????? d = rand() % 100;
????? while (d==0)
?????? d = rand() % 100;
????? if (a < b && c < d)
????{
?????? op = rand() % 4;
?????? if (op == 0)
?????? printf("%d/%d + %d/%d =\n", a, b, c, d);
?????? else if (op == 1 && (a / b) >= (c / d))
?????? printf("%d/%d - %d/%d =\n", a, b, c, d);
?????? else if (op == 2)
?????? printf("%d/%d * %d/%d =\n", a, b, c, d);
?????else if (op == 3)
???????????? printf("%d/%d ÷ %d/%d =\n", a, b, c, d);
????}
????? else i--;
???? }
???? break;
??? }
?}
?system("pause");
}
程序運(yùn)行結(jié)果:
?
程序基本滿足了題目要求,可以根據(jù)需要選擇整數(shù)運(yùn)算或者真分?jǐn)?shù)運(yùn)算。
但是因?yàn)閷W(xué)術(shù)不精,程序不夠簡潔。耗時半天。
編程期間遇到黑框閃退問題,詢問同學(xué),網(wǎng)上查找通過添加頭函數(shù)#include<windows.h>,以及凍結(jié)屏幕system("pause")問題解決。真分?jǐn)?shù)運(yùn)算過程中if對于兩個操作數(shù)的判斷時,不滿足運(yùn)算條件時計(jì)數(shù)變量i也增加,是程序運(yùn)行結(jié)果出題的數(shù)目不夠要求。通過else語句,不滿足條件時執(zhí)行i--,問題解決。程序沒有考慮分?jǐn)?shù)運(yùn)算時分?jǐn)?shù)可以約分的情況,為用戶的計(jì)算增加了工作量,也是對用戶計(jì)算能力的訓(xùn)練吧!
希望經(jīng)過編程訓(xùn)練,能力可以有所提高。
轉(zhuǎn)載于:https://www.cnblogs.com/cuilulu/p/5268370.html
總結(jié)
以上是生活随笔為你收集整理的小学生300道练习题程序及问题的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 《专门替中国人写的英语语法》(四)
- 下一篇: Oracle Segments可以跨多个