四则运算2.0版

 

#include<stdio.h>

#include<stdlib.h>

#include <time.h>

#define N 30

main()

{

    int a,b,k,j=0,i,n,num1,num2,num3,num4;

    int e,f,g,h,getanswer;//e为记录用户的题量,f为用户的答题答案 

    char op,op1;

    int num5,num6,num7,num8;//临时变量

    srand(time(NULL));

    do{

    printf("\n请输入数字类型(1.整数 2.真分数) -1为退出程序:     ");

    while(!(scanf("%d",&n)))

{

printf("\n 非法输入,请重新输入:");

fflush(stdin);

}

    

    switch(n)

    {

    case 1:

        {

            printf("用户请输入题量:");

            while(!(scanf("%d",&e)))

            {

                printf("\n 非法输入,请重新输入:");

                fflush(stdin);

            }

            for(i=0;i<e;i++)

            {

                a=rand()%100+1;

                b=rand()%100+1;

                k=rand()%4+1;

                printf("%d",a);

                switch(k)

                {

                case 1:printf("+");

                    op='+';

                    break;

                case 2:printf("-");

                        op='-';

                        break;

                case 3:printf("*");

                        op='*';

                        break;

                case 4:printf("/");

                        op='/';

                        break;

                }

                printf("%d=",b);

                while(!(scanf("%d",&f)))

                {

                    printf("\n 非法输入,请重新输入:");

                    fflush(stdin);

                }

                switch(op)

                {   

                case '+':   

                    getanswer=a+b;   

                    break;

                case '-':   

                    getanswer=a-b;

                    break;

                case '*':   

                    getanswer=a*b;

                    break;

                case '/':  

                    getanswer=a/b;   

                    break; 

                }

                if(f==getanswer)

                {

                    printf("\n做对了\n");

                    j++;

                }

                else

                {

                    printf("\n做错了\n");

                }

            }

                printf("用户总共答对了%d道题目!",j);

            break;

        }

            break;

    case 2:

        {    printf("用户请输入题量:");

            while(!(scanf("%d",&e)))

            {

                printf("\n 非法输入,请重新输入:");

                fflush(stdin);

            }

            for(i=0;i<e;i++)

            {

                num1=rand()%10+1;

                num2=rand()%10+1;

                num3=rand()%10+1;

                num4=rand()%10+1;

                if(num1>num2)

                {

                    num5=num1;

                    num1=num2;

                    num2=num5;

                }

                if(num3>num4)

                {

                    num5=num3;

                    num3=num4;

                    num4=num5;

                }

                op='+';

                num6=num1*num4+num2*num3;

                num7=num2*num4;

                num8=num6;

                while(num8>1)

                {

                    if(num6%num8==0 && num7%num8==0)

                    {

                        num6=num6/num8;

                        num7=num7/num8;

                    }

                    num8--;

                }

                printf("\n(%d/%d)%c(%d/%d)=",num1,num2,op,num3,num4);





                    

                while(!(scanf("%d%c%d",&g,&op1,&h)))

                {

                    printf("\n 非法输入,请重新输入:");

                    fflush(stdin);

                }

                

                if((g==num6)&&(h==num7))

                {

                    printf("\n做对了\n");

                    j++;

                }

                else

                {

                    printf("\n做错了\n");

                }

            }

                printf("用户总共答对了%d道题目!",j);

        }

        break;

    

        

        }

    }while(n!=-1);

}

 四则运算2.0版

四则运算2.0版

你可能感兴趣的:(四则运算)