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);
    }

     

  • 相关阅读:
    剑指offer-二维数组中的查找
    TF-IDF(term frequency–inverse document frequency)
    Java实现中文字符串的排序功能
    当前课程
    【R】资源整理
    CentOS相关
    【转】Setting up SDL Extension Libraries on MinGW
    【转】Setting up SDL Extension Libraries on Visual Studio 2010 Ultimate
    【转】Setting up SDL Extension Libraries on Code::Blocks 12.11
    【转】Setting up SDL Extension Libraries on Visual Studio 2019 Community
  • 原文地址:https://www.cnblogs.com/Russelling/p/4381204.html
Copyright © 2011-2022 走看看