C语言随机生成四则运算题目
一、基本功能
1.随机产生含有“+”“-”“*”“/”中两个运算符的四则运算题目,运算数在1-100之间。
2.可以指定产生的题目的数量。
3.可指定题目的显示方式。
4.可指定多长时间显示正确答案。
二、实现思路
调用rand函数产生随机数,不过要记得先调用srand(time(NULL))来启动启动随机数生成器,将产生的随机数对100取余再加1,就控制产生的随机数是在1-100之间的。同样随机产生运算符。根据输入的题目数量来指定for循环的次数,通过对输入的每行显示数量取余来控制每行的显示题目数量,通过水平制表符\t来控制显示排版,通过Sleep函数来控制多长时间显示题目的答案。
三、实现代码
#include <stdio.h> #include <stdlib.h> #include <time.h> #include <windows.h> int main() { int num1, num2, num3, sum=0, result,flag; char op1, op2; int count,N,second; srand(time(NULL)); printf("请输入想要产生题目的数目:"); scanf("%d",&N); printf("请输入每行显示的题目数量:"); scanf("%d",&count); printf("请输入想要多少秒后显示题目的答案:"); scanf("%d",&second); printf("出题中请稍等..."); for(int i=0;i<N;i++) { num1 = rand() % 100+1; num2 = rand() % 100+1; num3 = rand() % 100+1; switch (num1 % 4) { case 0: op1 = '+'; break; case 1: op1 = '-'; break; case 2: op1 = '*'; break; case 3: op1 = '/'; break; default: break; } switch (num2 % 4) { case 0: op2 = '+'; flag = 0; break; case 1: op2 = '-'; flag = 0; break; case 2: op2 = '*'; if((op1=='*')||(op1=='/')) flag = 0; else flag = 1; break; case 3: op2 = '/'; if((op1=='*')||(op1=='/')) flag = 0; else flag = 1; break; default: break; } if(sum%count==0) printf("\n"); sum++; printf("%d %c %d %c %d =",num1,op1,num2,op2,num3); if(flag==0) { result = 0; switch (op1) { case '+': result = num1+num2; break; case '-': result = num1-num2; break; case '*': result = num1*num2; break; case '/': result = num1/num2; break; default: break; } switch (op2) { case '+': result += num3; break; case '-': result -= num3; break; case '*': result *= num3; break; case '/': result /= num3; break; default: break; } } else { result = 0; switch (op2) { case '+': result = num2+num3; break; case '-': result = num2-num3; break; case '*': result = num2*num3; break; case '/': result = num2/num3; break; default: break; } switch (op1) { case '+': result = num1 + result; break; case '-': result = num1 - result; break; case '*': result = num1 * result; break; case '/': result = num1 / result; break; default: break; } } Sleep(1000*second); printf("%d \t",result); } printf("\n出题完成,感谢使用"); return 0; }
四、运行截图

浙公网安备 33010602011771号