• 自动生成四则运算题目


    • 主要功能:随机生成四则运算题目
    • 设计思想:先通过一个简单的四则运算,再不断完善
    • 源代码
    #include"stdio.h"
    main(){
        int  a,b,c,d;
        printf("自动生成四则运算:
    ");
        printf("%d+%d= 
    ",a,b);    
        printf("%d-%d= 
    ",a,b);
        printf("%d*%d= 
    ",a,b);
        printf("%d/%d= 
    ",a,b);
    } 

    这是刚开始编写的四则运算,是最简单的四则运算,同时也有着很多缺点,如:数值太大,随机生成的数字是伪随机数,无法生成分数的四则运算,加减乘除无法随机生成。
    为解决随机数值太大的问题我运用了int rand(void)产生随机数的函数并且加上了限制rand()%100使其只能生成0~99之间的整数。而为了解决伪随机数我运用了srand( (unsigned)time(0 ))这以段代码。我将加减乘除四个符号同样以rand()函数来随机生成。

    #include"stdio.h"
    #include"stdlib.h"
    #include"time.h"
    main(){
        char i;
        int a,b,c,d,n,m,j,k,e;
        printf("**********自动生成四则运算***********
    ");
        printf("1.开始
    ");
        printf("2.退出
    ");
        printf("请选择:
    ");
        scanf("%d",&n);
        if(n==1){
        srand((unsigned)time(NULL));
            printf("请输入生成的题数:");
            scanf("%d",&m);
            for(j=0;j<m;j++){
                e=rand()%4;
                if(e==0){i='+';}
                if(e==1){i='-';}
                if(e==2){i='*';}
                if(e==3){i='/';}
                a=rand()%100;
                b=rand()%100;
                c=rand()%100;
                d=rand()%100;
                k=rand()%2;
                switch(k){
                    case 0:printf("%d%c%d=
    ",a,i,b);break;
                    case 1:{if(a<=b&&c<=d)printf("%d/%d%c%d/%d=
    ",a,b,i,c,d);
                            else if(a>b&&c>d) printf("%d/%d%c%d/%d=
    ",b,a,i,d,c);
                            else if(a<=b&&c>d) printf("%d/%d%c%d/%d=
    ",a,b,i,d,c);
                            else if(a>b&&c<=d) printf("%d/%d%c%d/%d=
    ",b,a,i,c,d);
                            }break;
                    }
                    
                }
            
            }
         if(n==2){
            exit(0);
            return 0;
        }
    }
    • 程序运行截图:

    • 总结:  

    经过这次编写四则运算,在我不断修改的过程中,我重新开始掌握C语言,并从中也学到了很多,自己明显感觉到自己在一次一次的修改中不断进步。

  • 相关阅读:
    werfault进程使用CPU率高
    oracel 拆分字符串
    TCP TIME WAIT
    netstat 命令
    Java 理论与实践: 并发集合类
    DIV与SPAN之间有什么区别
    oracle超出打开游标的最大数的原因和解决方案
    Quartz表达式
    Axis创建webservice客户端和服务端
    Web服务cxf框架发布2
  • 原文地址:https://www.cnblogs.com/bgdwxr/p/5281359.html
Copyright © 2020-2023  润新知