该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
#include
#include
#include
int randN1N2(int rN1,int rN2)
{ int a,b;
srand((unsigned)time(NULL));
if(rN1<=rN2) {a=rN1; rN1=rN2; a=rN2; }
b=rand()%(rN2-rN1)+rN1;
return b;}
int randOper4( )
{return randN1N2(1,5);}
int randLmt100( )
{return randN1N2(1,100);}
int addLmt100(int num1, int num2)
{int g,h;
printf("%d+%d=",num1,num2);
scanf("%d",&g);h=num1+num2;
if(g==h){printf("\n答对了,恭喜你!");return 1;}
else
{printf("\n真遗憾,答错了");printf("正确答案为:%d",h);
return 0;}}
int subLmt100(int num1, int num2)
{int a,g,h;
if(num1<=num2) {a=num1; num1=num2; a=num2; }
printf("%d-%d=",num1,num2);
scanf("%d",&g);h=num1-num2;
if(g==h)
{printf("\n答对了,恭喜你!");return 1;}
else
{printf("\n真遗憾,答错了");printf("正确答案为:%d",h);
return 0;}}
int mulLmt100(int num1, int num2)
{
int g,h;
printf("%d*%d=",num1,num2);
scanf("%d",&g);h=num1*num2;
if(g==h){printf("\n答对了,恭喜你!");
return 1;}
else
{printf("\n真遗憾,答错了");
printf("正确答案为:%d",h);return 0;}}
int divLmt100(int num1, int num2)
{int g,h;
do
{num1=randLmt100( ); num2=randLmt100( );}
while(num1%num2!=0);
printf("%d/%d=",num1,num2);
scanf("%d",&g);h=num1/num2;
if(g==h){printf("\n答对了,恭喜你!");
return 1;}
else{printf("\n真遗憾,答错了");
printf("正确答案为:%d",h);
return 0;}}
void main ()
{int proNum[4]={0} ,ansNum[4]={0},sFlag,oper,n,p; char ch;
oper= randOper4( );
n=randLmt100( );
p=randLmt100( );
do
{switch(oper)
{case 1:proNum[0]++;ansNum[0]=addLmt100(n, p);break;
case 2:proNum[1]++;ansNum[1]=subLmt100(n, p);break;
case 3:proNum[2]++;ansNum[2]=mulLmt100(n, p);break;
default:proNum[3]++;ansNum[3]=divLmt100(n, p);break;}
fflush(stdin);
printf("\n若继续玩,请打回车;若不想继续,请用键盘输入“N”或“n”");
ch=getchar();
if(ch=='N'&&ch=='n')
sFlag=1;
}while(sFlag==1);
printf("你一共玩了%d次加法,其中正确答对%d次\n",proNum[0],ansNum[0]);
printf("你一共玩了%d次减法,其中正确答对%d次\n",proNum[1],ansNum[1]);
printf("你一共玩了%d次乘法,其中正确答对%d次\n",proNum[2],ansNum[2]);
printf("你一共玩了%d次除法,其中正确答对%d次\n",proNum[3],ansNum[3]);
}