zoukankan      html  css  js  c++  java
  • 练习一(升级版)

    #include<stdio.h>
    #include<time.h>
    #include<stdlib.h>
    void main()
    {
        int c,d,e,f;
        int x,right=0,wrong=0;
        float a,a1,a2,a3;
        int flag=0;
        char cc;
        srand((unsigned int)time(NULL));
        do{
            flag=0;
            x=rand()%4;
            c=rand()%10+1;
            d=rand()%10+1;
            e=rand()%10+1;
            f=rand()%10+1;
            if(c<=d&&e<=f&&d!=0&&f!=0)
            {   
                a1=(float)c/d;
                a2=(float)e/f;
                 switch(x)
                {
                case 0:
                    printf("(%d/%d)  +  (%d/%d) = ",c,d,e,f);
                    break;
                case 1:
                    printf("(%d/%d)  -  (%d/%d) = ",c,d,e,f);
                    break;
                case 2:
                    printf("(%d/%d)  *  (%d/%d) = ",c,d,e,f);
                    break;
                case 3:
                    printf("(%d/%d)  ÷ (%d/%d) = ",c,d,e,f);
                    break;
                }
                scanf("%f",&a);
                switch(x)
                {
                case 0:
                    if(a1+a2==a)
                    {
                        printf("计算正确!
    ");right++;
                    }
                    else
                    { 
                        a3=a1+a2;
                        printf("计算错误!答案应为:%f
    ",a3);wrong++;
                    }
                    break;
                case 1:
                    if(a==a1-a2)
                    {
                        printf("计算正确!
    ");right++;
                    }
                    else
                    {
                        a3=a1-a2;
                        printf("计算错误!答案应为:%f
    ",a3);wrong++;
                    }
                    break;
                 case 2:
                     if(a==a1*a2)
                     {
                        printf("计算正确!
    ");right++;
                     }
                     else
                     {
                         a3=a1*a2;
                         printf("计算错误!答案应为:%f
    ",a3);wrong++;
                     }
                     break;
                 case 3:
                     if(a==a1/a2)
                     {
                         printf("计算正确!
    ");right++;
                     }
                     else
                     {
                         a3=a1/a2;
                         printf("计算错误!答案应为:%f
    ",a3);wrong++;
                     }
                     break;
                }
                printf("按任意键继续,q则退出!
    ");
            //  scanf("%d",&quit);
           //  if(quit==0)
                cc=getchar();
                printf("
    ");
            }
        }while(cc!='q');
        printf("共答对%d道题,共答错%d道题
    ",right,wrong);
    }
       在练习1的基础上,添加真分数,判断是否为真分数,前提是分子不大于分母切分母不为0。
    一开始运行的时候,输入正确答案,可是判断的答案是显示错误的。找到输入答案的那一行代码,发现输入格式是错的,应为%f。
    在原基础上修改花了半个小时。 
  • 相关阅读:
    wxWidgets中wxDateTime与wxString的互操作
    wxWidgets文件操作(六)
    wxWidgets文件操作(三)wxFileDialog与wxTextCtrl
    终于完成词频统计小程序~
    我的第一个c#工程~
    Word frequency program的进展
    List Find和BinarySearch性能比较
    堆和栈
    Java工程师初学Android(四)(转)
    Java中static、this、super、final用法(转http://chytmaths.blog.163.com/blog/static/29482972200610125744333/)
  • 原文地址:https://www.cnblogs.com/ZeJuan/p/4385031.html
Copyright © 2011-2022 走看看