用C语言随机产生三个数,三个数之间进行四则运算,四则运算也随机产生比如产生了,A,B,C三个数,则A

发布时间:2021-03-15 06:04:01

用C语言随机产生三个数,三个数之间进行四则运算,四则运算也随机产生比如产生了,A,B,C三个数,则A*B-C,反正就是A,B,C之间的符号也要随机产生,还有产生的运算一定要符合运算法则,我弄错了只能从左往右的计算,我的错误:比如2-3*5,计算结果是-5.虽然分不多,救命啊,如果分多肯定多弄点.

网友回答

#include
#include
#include
#define N 10 //随机出10道题目
int main()
{\x09int num1,num2,num3,count=0,result,resultTrue,flag;//result:用户输入结果 resultTrue:正确结果 flag:0 先计算左边 1先计算右边
\x09char op1,op2;
\x09\x09srand(time(NULL)); //启动随机数生成器
\x09do {
\x09\x09count++;
\x09\x09
\x09 \x09num1 = rand() % 10+1;
\x09\x09
num2 = rand() % 10+1;\x09\x09
num3 = rand() % 10+1;\x09\x09
switch (num1 % 4)\x09\x09
{case 0:
\x09\x09
\x09\x09op1 = '+';\x09\x09
\x09\x09break;case 1:
\x09\x09
\x09\x09op1 = '-';\x09\x09
\x09\x09break;\x09 case 2:
\x09\x09
\x09\x09op1 = '*';\x09\x09
\x09\x09break;case 3:
\x09\x09
\x09\x09op1 = '/';\x09\x09
\x09\x09break;default:
\x09\x09
\x09\x09break;\x09\x09
}\x09\x09
switch (num2 % 4)\x09\x09
{\x09\x09
\x09case 0:\x09\x09
\x09\x09op2 = '+';\x09\x09
\x09\x09flag = 0;\x09\x09
\x09\x09break;\x09\x09
\x09case 1:\x09\x09
\x09\x09op2 = '-';\x09\x09
\x09\x09flag = 0;\x09\x09
\x09\x09break;\x09\x09
\x09case 2:\x09\x09
\x09\x09op2 = '*';\x09\x09
\x09\x09if((op1=='*')||(op1=='/')) flag = 0;\x09\x09
\x09\x09else flag = 1;\x09\x09
\x09\x09break;\x09\x09
\x09case 3:\x09\x09
\x09\x09op2 = '/';\x09\x09
\x09\x09if((op1=='*')||(op1=='/')) flag = 0;\x09\x09
\x09\x09else flag = 1;\x09\x09
\x09\x09break;\x09\x09
\x09default:\x09\x09
\x09\x09break;\x09\x09
}\x09\x09
printf(%d %c %d %c %d = ,num1,op1,num2,op2,num3);\x09\x09
if(flag==0)\x09\x09
{\x09\x09
\x09resultTrue = 0;\x09\x09
\x09switch (op1)\x09\x09
\x09{\x09\x09
\x09\x09case '+':\x09\x09
\x09\x09\x09resultTrue = num1+num2;\x09\x09
\x09\x09\x09break;\x09\x09
\x09\x09case '-':\x09\x09
\x09\x09\x09resultTrue = num1-num2;\x09\x09
\x09\x
以上问题属网友观点,不代表本站立场,仅供参考!