zoukankan      html  css  js  c++  java
  • 四则运算改上改

    #include<stdio.h>
    #include<stdlib.h>
    #include<time.h>
    #include<string.h>
    main()
    {
        int i,j,k,e,d,d1,e1,l,f;
        int a,b,c,g,h,m,n,o;
        int q=0,w=0,q1=0,w1=0,q2=0,w2=0;
        float sum;
        srand((int)time(0));
        printf("现在进入四则运算测试,输入-1退出测试!\n\n");
        do{
            a=rand()%100+1;
            b=rand()%100+1;
            g=rand()%100+1;
            h=rand()%100+1;
            k=rand()%5+1;
            f=rand()%4+1;
            c=max(a,b);
            a=min(a,b);
            g=max(g,h);
            m=min(g,h);
            switch(k){
            case 1:printf("%d*%d=",c,a);d=c*a;    break;
            case 2:
                {
                    printf("%d/%d=",a,c);
                    (float)d=(float)a/(float)c;    
                    for(i=1;i<=c;i++)
                        for(j=1;j<=a;j++)
                        {
                            (float)l=(float)j/(float)i;
                            if(l==d)
                            {
                                c=i;
                                a=j;
                                break;
                            }
                        }
                    break;
                }
            case 3:printf("%d+%d=",c,a);d=c+a;    break;    
            case 4:printf("%d-%d=",c,a);d=c-a;  break;
            case 5:
                {
                    printf("%d/%d",a,c);
                    switch(f){
                    case 1:
                        {
                            printf(" * %d/%d=",m,g);
                            n=a*m;
                            o=c*g;
                            break;
                        }
                    case 2:
                        {
                            printf(" / %d/%d=",m,g);    
                            n=a*g;
                            o=c*m;
                            break;
                        }
                    case 3:
                        {
                            printf(" + %d/%d=",m,g);    
                            n=a*g+c*m;
                            o=c*g;
                            break;
                        }
                    case 4:
                        {
                            printf(" - %d/%d=",m,g);    
                            n=a*g-c*m;
                            o=c*g;
                            break;
                        }
                    }
                }
    
            }
            if(k==2)
            {
                scanf("%d/%d",&e,&e1);
                (float)d1=(float)e/(float)e1;
                if(e==a&&e1==c)
                {
                    printf("回答正确!\n\n");
                    q++;
                }
                else
                {
                    printf("回答错误!\n\n");
                    w++;
                }
            }
            if(k!=2&&k!=5)
            {
                scanf("%d",&e);
                if(e==d)
                {
                    printf("回答正确!\n\n");
                    q1++;
                }
                else
                {
                    printf("回答错误!\n\n");
                    w1++;
                }
            }
            if(k==5)
            {
                scanf("%d/%d",&e,&e1);
                if((float)(n/o)==(float)(e/e1))
                {
                    printf("回答正确!\n\n");
                    q2++;
                }
                else
                {
                    printf("回答错误!\n\n");
                    w2++;
                }
            }
        }while(e!=-1);
        sum=((float)(q+q1+q2)/(float)(q+q1+q2+w+w1+w2-1))*100;
        printf("此次答题正确率为 %.2f%%\n",sum);
    }

    此次修改的最要问题就是添加分数的运算部分,之前由于想得不是很够,

    只能做到对于一个分数的约分,现在添加的部分能够在一定程度上实现分数的加减乘除。

    程序还有一个问题还没有做到,在加法的那一部分,还存在加出来可能是大于1的结果。

  • 相关阅读:
    盛最多水的容器
    寻找2个有序数组的中位数
    从链表中删除总和值为0的连续节点
    链表中的下一个更大节点
    链表的中间节点
    循环有序链表的插入
    设计链表
    链表组件
    扁平化多级双向链表
    将二叉搜索数转化为排序的双向链表
  • 原文地址:https://www.cnblogs.com/esom/p/4381517.html
Copyright © 2011-2022 走看看