char cop();
int calculate(int x,char op, int y);
int number();
int main()
{
int a,b,ans,i,t;
char opchar;
int flag=0;
srand(time(NULL));
for(i=0;i<10;i++)
{
a=number();
b=number();
printf("%d %c %d=?",a,opchar,b);
scanf("%d",&ans);
if(ans==calculate(a,opchar,b))
{
printf("Right!\n");
t++;
flag=1;
}
else
{
printf("Wrong!\n");
}
}
printf("总分数为:%d",t*10);
printf("正确率为:%d%%\n",t*10);
return 0;
}
int calculate(int x,char op,int y)
{
switch(op)
{
case '+': return x+y;
case '-': return x-y;
case '*': return x*y;
case '/': return x/y;
default:printf("operator error!\n");return 0;
}
}
int number()
{
return rand()%10+1;
}
char cop()
{
int op;
op=rand()%4+1;
switch(op)
{
case 1: return'+';
case 2: return'-';
case 3: return'*';
case 4: return'/';
}
return 0;
}
char opchar;
这里opchar没有初始化
可以写
char opchar = cop();