#include <stdio.h>
#include <math.h>
#include <string.h>
#include <stdlib.h>
#include <time.h>
int main()
{ char N;
void add();
void mul(void);
void sub(void);
void div(void);
printf("请选择题目类型 + - * / N=?\n");
scanf("%c",&N);
switch (N)
{
case '+': add(); break;
case '*': mul(); break;
case '-': sub(); break;
case '/': div(); break;
}
}
void add()
{int sum,a,z,p=0,b,n,i,m;
srand(( int )time( 0 ));
printf("请选择题目道数: \n");
scanf("%d",&n);
printf("请选择难度(分1,2,3级):\n");
scanf("%d",&m);
switch(m)
{
case 1:m=10;break;
case 2:m=100;break;
case 3:m=1000;break;
}
for(i=1;i<=n;i++)
{
a=rand()%m;
b=rand()%m;
printf("%d+%d",a,b);
printf("输入答案:");
scanf("%d",&sum);
z=a+b;
if(sum!=z)
{
printf("error错误\n");
printf("答案是%d\n",z);
}
else
{
printf("正确\n");
p++;
}
}
printf("正确道数为%d",p);
}
void mul(void)
{ int product,a,p=0,b,z,n,i,m;
srand(( int )time( 0 ));
printf("请选择题目道数: \n");
scanf("%d",&n);
printf("请选择难度(分1,2,3级):\n");
scanf("%d",&m);
switch(m)
{
case 1:m=10;break;
case 2:m=100;break;
case 3:m=1000;break;
}
for(i=1;i<=n;i++)
{
a=rand()%m;
b=rand()%m;
printf("%d*%d",a,b);
printf("输入答案:");
scanf("%d",&product);
z=a*b;
if(product!=z)
{
printf("error错误\n");
printf("答案是%d\n",z);
}
else
{printf("正确\n");
p++;
}
}
printf("正确道数为%d",p);
}
void sub(void)
{int sub,a,b,p=0,z,t,n,i,m;
srand(( int )time( 0 ));
printf("请选择题目道数: \n");
scanf("%d",&n);
printf("请选择难度(分1,2,3级):\n");
scanf("%d",&m);
switch(m)
{
case 1:m=10;break;
case 2:m=100;break;
case 3:m=1000;break;
}
for(i=1;i<=n;i++)
{
a=rand()%m;
b=rand()%m;
if(a>b)
z=a-b;
else
{t=b;
b=a;
a=t;
}
printf("%d-%d",a,b);
printf("输入答案:");
scanf("%d",&sub);
if(sub!=z)
{
printf("error错误\n");
printf("答案是%d\n",z);
}
else
{printf("正确\n");
p++;
}
}
printf("正确道数为%d",p);
}
void div(void)
{ float mer,s,z;int p=0,a,b,n,i,m;
srand(( float )time( 0 ));
printf("请选择题目道数: \n");
scanf("%d",&n);
printf("请选择难度(分1,2,3级):\n");
scanf("%d",&m);
switch(m)
{
case 1:m=10;break;
case 2:m=100;break;
case 3:m=1000;break;
}
for(i=1;i<=n;i++)
{
a=rand()%m;
b=rand()%m+1;
printf("%d / %d",a,b);
printf("输入答案:");
scanf("%f",&mer);
z=a/(float)b;
if(mer!=z)
{printf("error错误\n");
printf("答案是%3.2f\n",z);
}
else
{printf("正确\n");
p++;
}
}
printf("正确道数为%d",p);
}