
c语言的一个小题,大家帮忙看看,谢谢
让计算机给小学生随机出10道10以内的四则运算题。程序运行结果如下所示:2-2=0↙3+3=6↙10+6=16↙10-7=3↙0+10=10↙2+0=0↙6+9=15↙1...
让计算机给小学生随机出 10 道 10 以内的四则运算题。程序运行结果如下所示:
2-2=0↙
3+3=6↙
10+6=16↙
10-7=3↙
0+10=10↙
2+0=0↙
6+9=15↙
1*2=2↙
4/2=2↙
10+6=16↙
其中表达式是计算机产生的,答案是用户输入的。蓝色字体显示的为计算机运行时产生的提示信息,红色字体为用户通过键盘输入的数据。
[ 友情提示: ]
① 操作数 1 和操作数 2 是计算机随机产生的 0~10 之间的整数, 注意 除法运算要考虑除数不能为 0 且被除数一定要能够整除除数,减法运算差应>= 0 。
② 运算符为计算机产生的 1~4 之间的随机数,规定 1 为 加法 运算, 2 为 减法 运算, 3 为 乘法 运算, 4 为 除法 运算。
③ 在循环体内设置一个计数器 count 。循环条件: while( count < 10 )
④ 用到的相关函数和头文件:
rand 、 time (NULL) 、 srand ( time ( NULL ) ) 、stdlib.h 、 time.h
且srand ( time ( NULL ) ) 要放在循环体外
我做的是:
#include<stdio.h>
#include<stdlib.h>
#include<time.h>
int main()
{
int a,b,c,d,i;
srand(time(NULL));
for(i=1;i<=10;i++)
{
c=rand ()%4 + 1;
if (c=1)
{
a=rand ()%10;
b=rand ()%10;
printf("%d000%d+%d=",c,a,b);
scanf("%d",&d);
}
else if(c=2)
{
a=rand ()%10;
b=rand ()%a;
printf("%d-%d=",a,b);
scanf("%d",&d);
}
else if(c=3)
{
a=rand ()%10;
b=rand ()%10;
printf("%d*%d",a,b);
scanf("%d",&d);
}
else
{
a=rand ()%10;
for(b=rand ()%a;b=0 || a%b!=0;)
{
b=rand ()%a;
}
printf("%d/%d=",a,b);
scanf("%d",&d);
}
}
return 0;
}
大家且不说算法怎么样,我这个运行之后只有加法,没有其他运算,到底是怎么回事啊?亲们帮帮忙啊! 展开
2-2=0↙
3+3=6↙
10+6=16↙
10-7=3↙
0+10=10↙
2+0=0↙
6+9=15↙
1*2=2↙
4/2=2↙
10+6=16↙
其中表达式是计算机产生的,答案是用户输入的。蓝色字体显示的为计算机运行时产生的提示信息,红色字体为用户通过键盘输入的数据。
[ 友情提示: ]
① 操作数 1 和操作数 2 是计算机随机产生的 0~10 之间的整数, 注意 除法运算要考虑除数不能为 0 且被除数一定要能够整除除数,减法运算差应>= 0 。
② 运算符为计算机产生的 1~4 之间的随机数,规定 1 为 加法 运算, 2 为 减法 运算, 3 为 乘法 运算, 4 为 除法 运算。
③ 在循环体内设置一个计数器 count 。循环条件: while( count < 10 )
④ 用到的相关函数和头文件:
rand 、 time (NULL) 、 srand ( time ( NULL ) ) 、stdlib.h 、 time.h
且srand ( time ( NULL ) ) 要放在循环体外
我做的是:
#include<stdio.h>
#include<stdlib.h>
#include<time.h>
int main()
{
int a,b,c,d,i;
srand(time(NULL));
for(i=1;i<=10;i++)
{
c=rand ()%4 + 1;
if (c=1)
{
a=rand ()%10;
b=rand ()%10;
printf("%d000%d+%d=",c,a,b);
scanf("%d",&d);
}
else if(c=2)
{
a=rand ()%10;
b=rand ()%a;
printf("%d-%d=",a,b);
scanf("%d",&d);
}
else if(c=3)
{
a=rand ()%10;
b=rand ()%10;
printf("%d*%d",a,b);
scanf("%d",&d);
}
else
{
a=rand ()%10;
for(b=rand ()%a;b=0 || a%b!=0;)
{
b=rand ()%a;
}
printf("%d/%d=",a,b);
scanf("%d",&d);
}
}
return 0;
}
大家且不说算法怎么样,我这个运行之后只有加法,没有其他运算,到底是怎么回事啊?亲们帮帮忙啊! 展开
1个回答
展开全部
#include<stdio.h>
#include<stdlib.h>
#include<time.h>
int main()
{
int a,b,c,d,i;
srand(time(NULL));
for(i=1;i<=10;i++)
{
c=rand ()%4 + 1;
if (c==1)
{
a=rand ()%10;
b=rand ()%10;
printf("%d000%d+%d=",c,a,b);
scanf("%d",&d);
}
else if(c==2)
{
a=rand ()%10;
b=rand ()%a;
printf("%d-%d=",a,b);
scanf("%d",&d);
}
else if(c==3)
{
a=rand ()%10;
b=rand ()%10;
printf("%d*%d=",a,b);
scanf("%d",&d);
}
else
{
a=rand ()%10;
for(b=rand ()%a;b==0 || a%b!=0;)
{
b=rand ()%a;
}
printf("%d/%d=",a,b);
scanf("%d",&d);
}
}
return 0;
}
-----------------------------
全部是==的问题~~
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询