天天看點

作業2

使用者可以選擇出題的個數(最多不能超過5個題目),答題結束可以顯示使用者答錯的題目個數和答對的題目個數

#include <stdio.h>

#include <stdlib.h>

#include <time.h>

int yunsuan(int M,int NUM)

{

int m=1,n=0,a,b,daan;

while(1)

{

srand(time(0));

a=rand()%M;

b=rand()%M;

switch(1+rand()%2)

{

case 1: //加

{

printf("<%d>",m);

printf("%4d+%4d=",a,b);

scanf("%d",&daan);

if(daan==(a+b))

n++;

else

printf("Fault!\n");

m++;

break;

}

default: //減

if(a>=b)

{

printf("<%d>",m);

printf("%4d-%4d=",a,b);

scanf("%d",&daan);

if(daan==(a-b))

n++;

else

printf("Fault!\n");

m++;

break;

}

else

{

printf("%4d-%4d=",b,a);

if(daan==(b-a))

else

}

}

}

if(m == NUM+1)

break;

}

return n;

}

int main()

int M,p;

float right;

char o;

int num; //題目的個數。

while(1)

{

printf(" 歡迎進入國小生四則運算訓練營\n\n1.10以内的四則運算\n0.退出\n\n");

printf("請選擇功能号(1/0):");

scanf("%d",&p);

getchar();

if(p==1)

M=10;

if(p==0)

exit(0);

printf("請選擇的是%d以内的四則運算個數:\n",M);

scanf("%d",&num);

int temp = yunsuan(M,num);

right= temp/(num*1.0);

printf("正确率:%.2f%%",right*100); //正确率。

getchar(); //吸收前面的Enter鍵。

printf("繼續嗎?(y/n)");

scanf("%c",&o);

if(o == 'y' || o == 'Y')

{

system("pause");

}

else

break;

}

getchar();

return 0;

上一篇: 作業4