zoukankan      html  css  js  c++  java
  • 四则运算编程题第二版

    编写一个四则运算代码,要求在实现加减乘除以及真分数四则运算的基础上,实现以下功能:

    1、实现在线答题;
    2、答题结束后,可以判断对错;
    3、并将错题的结果保存起来。

    具体代码:

    #include "stdafx.h"
    #include <stdio.h>
    #include <stdlib.h>
    #include <time.h>
    int yuefen(int a, int b)
    {
        int temp;
        while(a%b != 0)
        {
            temp = a%b;
            a = b;
            b = temp;
        }
        return b;
    }
    int _tmain(int argc, _TCHAR* argv[])
    {
        int i,j,n,o,a[1000],b[1000],c[1000],d[1000],e[1000],f[1000],g[1000],h[1000],k[1000],l[1000];
        int x[1000],y[1000],z[1000],answer1[1000],answer2[1000];
        char m[1000];
        float answer3[1000],answer4[1000],answer5[1000],answer6[1000];
        srand(time(NULL));
        FILE  *fp;
        fp=fopen("错题集.txt","ab");
        printf("请输入题目的个数:
    ");
        scanf("%d",&j);
        for(i=0;i<j;i++)
        {
            a[i]=rand()%8+2;
            b[i]=rand()%8+2;
            c[i]=rand()%18+2;
            d[i]=rand()%18+2;
            e[i]=rand()%18+2;
            f[i]=rand()%18+2;
        }
        for(i=0;i<j;i++)
        {
            while((a[i]==b[i])||(a[i]>b[i]))
            {
                a[i]=rand()%8+2;
                b[i]=rand()%8+2;
            }
            k[i]=yuefen(a[i],b[i]);
            a[i]/=k[i];
            b[i]/=k[i];
            while(c[i]==d[i])
            {
                c[i]=rand()%18+2;
            }
            while(e[i]==f[i])
            {
                e[i]=rand()%18+2;
            }
    
        }
        printf("计算下列各题:
    ");
        for(n=0;n<j;n++)
        {
            printf("%d/%d+(%d-%d)×%d÷%d
    ",a[n],b[n],c[n],d[n],e[n],f[n]);
        }
        printf("请输入题目答案,以分数形式输入,分号用“/”代替:
    ");
        for(i=0;i<j;i++)
        {
         scanf("%d%c%d",&answer1[i],&m[i],&answer2[i]);
        }
        printf("正确答案:
    ");
        for(i=0;i<j;i++)
        {
            g[i]=(c[i]-d[i])*e[i];
            h[i]=g[i]*b[i];
            l[i]=a[i]*f[i];
            x[i]=h[i]+l[i];
            y[i]=b[i]*f[i];
            z[i]=yuefen(x[i],y[i]);
            x[i]/=z[i];
            y[i]/=z[i];
            if(y[i]<0)
            {
                y[i]=0-y[i];
                x[i]=(-x[i]);
            }
            printf("%d/%d
    ",x[i],y[i]);
        }
    
        o=0;
        for(i=0;i<j;i++)
        {
            answer3[i]=(float)answer1[i];
            answer4[i]=(float)answer2[i];
            answer5[i]=(float)x[i];
            answer6[i]=(float)y[i];
            if((answer3[i]/answer4[i])==(answer5[i]/answer6[i]))
            {
                o++;
            }
        }
        printf("你一共做对了%d道
    ",o);
        for(i=0;i<j;i++)
        {
            if((answer1[i]/answer2[i])!=(x[i]/y[i]))
            {
                fprintf(fp,"%d/%d+(%d-%d)×%d÷%d=",a[i],b[i],c[i],d[i],e[i],f[i]);
                fprintf(fp,"%d/%d	",x[i],y[i]);
            }
        }
        fclose(fp);
        return 0;
    }

    运行界面:

    错题集界面:

  • 相关阅读:
    【JSP】jQuery Deferred exception successed is not defined
    onclick事件传递变量参数&拼接字符串
    JQuery
    设计模式
    拖拽-原型继承案例
    继承
    原型
    闭包
    promise
    jsonp
  • 原文地址:https://www.cnblogs.com/njzy123456/p/9917758.html
Copyright © 2011-2022 走看看