自动生成四则运算题目

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了自动生成四则运算题目相关的知识,希望对你有一定的参考价值。

  • 主要功能:随机生成四则运算题目
  • 设计思想:先通过一个简单的四则运算,再不断完善
  • 源代码

 

#include"stdio.h"
main(){
    int  a,b,c,d;
    printf("自动生成四则运算:\n");
    printf("%d+%d= \n",a,b);    
    printf("%d-%d= \n",a,b);
    printf("%d*%d= \n",a,b);
    printf("%d/%d= \n",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("**********自动生成四则运算***********\n");
    printf("1.开始\n");
    printf("2.退出\n");
    printf("请选择:\n");
    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=\n",a,i,b);break;
                case 1:{if(a<=b&&c<=d)printf("%d/%d%c%d/%d=\n",a,b,i,c,d);
                        else if(a>b&&c>d) printf("%d/%d%c%d/%d=\n",b,a,i,d,c);
                        else if(a<=b&&c>d) printf("%d/%d%c%d/%d=\n",a,b,i,d,c);
                        else if(a>b&&c<=d) printf("%d/%d%c%d/%d=\n",b,a,i,c,d);
                        }break;
                }
                
            }
        
        }
     if(n==2){
        exit(0);
        return 0;
    }
}
  • 程序运行截图:

技术分享技术分享

 

  • 总结:  

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

以上是关于自动生成四则运算题目的主要内容,如果未能解决你的问题,请参考以下文章

自动生成四则运算题目程序

自动生成四则运算题目

结对项目:四则运算题目生成器(Java)

个人作业1——四则运算题目生成程序(基于控制台)

自动生成四则运算题目

自动生成四则运算题目