#include<stdio.h>
#include<stdlib.h>
#include<time.h>
int creatnum();
int creatsys(int a,char op,int b);
int creatop();
int isright(int sys,int use);
int main()
{
int a,b,sys,use,count=0;char op;
for(int i=0;i<10;i++)
{
srand(time(NULL));
a=creatnum();
b=creatnum();
op=creatop();
sys=creatsys(a,op,b);
printf("%d%c%d=?:",a,op,b);
scanf("%d",&use);
if(isright(sys,use))
{
printf("right\n");
count++;
}
else
printf("wrong\n");
}
printf("corret rate is%d%%",10*count);
return 0;
}
int creatnum()
{
srand(time(NULL));
return rand()%10+1;
}
int creatsys(int a,char op,int b)
{
switch(op)
{
case '+':return a+b;break;
case '-':return a-b;break;
case '*':return a*b;break;
case '/':return a/b;break;
}
}
int creatop()
{
srand(time(NULL));
char op=rand()%4+1;
switch(op)
{
case 1:op='+';break;
case 2:op='-';break;
case 3:op='*';break;
case 4:op='/';break;
}
return op;
}
int isright(int sys,int use)
{
int flag;
if(sys==use)
flag=1;
return flag;
}
但是生成的a和b永远都相等,对比书上答案发现书上生成随机数的函数是用
int creatnum()
{
return rand()%10+1;
}
和我的对比他没有在这个被调用的函数里面用srand,请问为什么我生成的a和b是一样的呢,srand放不放在函数里悠悠什么区别呢?
这都不会