zoukankan      html  css  js  c++  java
  • 四则运算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);
    }

     

  • 相关阅读:
    音频波谱通用类|超酷的说
    跟随鼠标的星星实例
    AS3放大镜工具类
    caurina缓动类
    AS3中 is,as,typeof的区别
    Loader ,URLLoader ,URLStream的区别
    (转)AS3正则:元子符,元序列,标志,数量表达符
    动态绘制扇形实例
    AS3.0绘图API
    as3效率优化
  • 原文地址:https://www.cnblogs.com/Russelling/p/4381204.html
Copyright © 2011-2022 走看看