你可以先将加减乘除放在一个数组,通过rand()产生一个随机数作为下标即可实现你要的功能了
你能给我代码的模组吗?非常感谢
@嗯保护你:
#include<stdio.h>
#include<time.h>
#include<windows.h>
int main()
{
srand((unsigned)time(NULL));
int a=10,b=5,c,d;
c=rand()%4;//产生0-3的随机数
printf("c=%d\r\n",c);
if(c==0)
{
d=a+b;
printf("d=a+b=%d\r\n",d);
}
else if(c==1)
{
d=a-b;
printf("d=a-b=%d\r\n",d);
}
else if(c==2)
{
d=a*b;
printf("d=a*b=%d\r\n",d);
}
else
{
d=a/b;
printf("d=a/b=%d\r\n",d);
}
return 0;
}
这是个相队来说简单实现点的算法,没用到数组,下面这个用到数组的
#include<stdio.h>
#include<time.h>
#include<windows.h>
int main()
{
srand((unsigned)time(NULL));
int a=10,b=5,c,d;
char suanfa[]={'+','-','*','/'};
c=rand()%4;//产生0-3的随机数
printf("c=%d\r\n",c);
switch(suanfa[c])
{
case '+':
d=a+b;
printf("d=a+b=%d\r\n",d);
break;
case '-':
d=a-b;
printf("d=a-b=%d\r\n",d);
break;
case '*':
d=a*b;
printf("d=a*b=%d\r\n",d);
break;
case '/':
d=a/b;
printf("d=a/b=%d\r\n",d);
break;
default:
break;
}
return 0;
}