自动生成四则运算题目

  • 主要功能:随机生成四则运算题目
  • 设计思想:先通过一个简单的四则运算,再不断完善
  • 源代码
#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语言,并从中也学到了很多,自己明显感觉到自己在一次一次的修改中不断进步。

时间: 2024-08-09 06:31:58

自动生成四则运算题目的相关文章

用不同语言实现自动生成四则运算题目

Github项目地址:https://github.com/Aiyaxc/zuoye- 题目:用不同语言实现自动生成四则运算题目的命令行程序. (1)题目要求: a.  能自动生成小学四则运算题目(注意是给小学生用的,要是结果出现负数的话他们会迷茫的!) b. 除了整数外,还要支持真分数的四则运算  (2)思路: a.四则运算加减乘除,采用两个随机数,由于不能出现负数,所以在对两个随机数进行减法运算的时候,需要进行比较大小,而除法在运算中,除数不能取0. b.  进行真分数运算应注意假分数的影响

个人项目:自动生成四则运算题目总结

题目:写一个能自动生成小学四则运算题目程序 要求: 除了整数以外,还要支持真分数的四则运算 让程序能接受用户输入答案,并判断对错 对于求解四则运算的算法,在数据结构课程上有过相同的题目,但是当时我们需要做的求一个给定的四则运算题目的结果.根据逆波兰表达式将中缀式转换成后缀表达式再利用栈结构求解.这次的任务难点确在于随机生成四则运算题目.刚开始的想法太low了,根据常规表达式的结构随机生成一个数,一个运算符,再一个数……但是往深了想,这种方法很难实现,因为一个表达式不仅仅有操作数和+ - * /

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

这个代码由自己编写的,采用的是面向过程的思想,主要实现了一些简单的四则运算的自动生成,题目中的数字都限制在100以内,答案有可能超出100.如果题目中出现除法,则需要保留2位小数点,并且不能够四舍五入,否则会显示错误.答题时,答对一题的一分,答错一题不得分也不扣分.每答一题便会显示分数,在做完所有的题目时会计算出总分数和正确率.此程序所生成的四则运算不是很全面,且实现过程比较简单.查看源代码网址https://github.com/xiongxin1/add/blob/master/MSEwor

软件工程关于自动生成四则运算题目程序的见解

1.需求分析 一个程序员在编写程序前第一件事就是要知道我要编写的程序是要干什么的,它要那些功能. 题目中要求一个能自动生成小学四则运算题目的程序,分析起来很简单,做起来也很简单. 2.实施 由于是小学四则运算题目 我们设定数字的大小不超过100,运算符号为+ - * /,而这一切要随机生成,不难想到要用到随机函数.首先使用SRAND函数设定随机数种子srand((unsigned)time(NULL)) ,再使用RAND函数控制随机生成我们想要的0-100的数字,至于如何生成加减乘除符号,我们可

结对项目(自动生成四则运算题目程序)

一.Github项目地址:https://github.com/Vigor-creat/-.git 项目成员:胡兆禧 3118005092  余金龙 3118005116 二.PSP PSP2.1 Personal Software Process Stages 预估耗时(分钟) 实际耗时(分钟) Planning 计划     · Estimate · 估计这个任务需要多少时间 30 48 Development 开发     · Analysis · 需求分析 (包括学习新技术) 120 1

写一个能自动生成四则运算题目的软件,要求除了整数,还要支持正分数的四则运算。和同学们比较各自的程序功能、实现方法的异同。

package Rational; import java.util.Random; import java.util.Scanner; public class szys{             public static void res() {                                                   System.out.println("1.显示答案\t2.直接出下一题");                             

3月10号周二课堂练习:关于自动生成四则运算题目的程序的延伸

对题目要求进行初步的分析: 1.判断两次随机数是否相同    将产生的题目保存(循环)下来,然后将结果进行(循环)比较. 2.多加入一个变量Num,来控制题目数量 3.在每一个switch选择的语句,进行选择判断  3.1选择是否有乘除法,  3.2是否有括号 判断是否加减乘除是否都存在,加减在算式中的位置,然后进行选择是否添加括号 3.3数值范围 主要控制随机数产生器模余的大小(如a=rand()%n,n可以取任意值)    3.4加减有无负数 比较减数和被减数的大小  3.5除法有无余数 将

作业二:自动生成四则运算

主要功能:本程序可以自动生成四则运算,还有选择运算法则和查看答案的功能.设计思想: 可以选择运算法则,可以随机出现计算题,可出现答案,也可直接进入下一题.源代码:#include<stdio.h> #include<stdlib.h> #include<time.h> main() { int a,b,op,os; aq1: printf("选择您想挑战的运算法则\n"); printf("1.加法 2.减法 3.乘法 4.除法\n&quo

结对作业2——自动生成四则运算

软件结对作业三 1 选择题目 我们在刚开始上课的时候介绍过一个小学四则运算自动生成程序的例子,请实现它,要求: 能够自动生成四则运算练习题 可以定制题目数量 用户可以选择运算符 用户设置最大数(如十以内.百以内等) 用户选择是否有括号.是否有小数 用户选择输出方式(如输出到文件.打印机等) 最好能提供图形用户界面(根据自己能力选做,以完成上述功能为主) 二.单元测试 1 代码运行结果 (1)首先展示的是代码运行成功的界面: (2)以下为加减乘除四种不同运算方式下随机产生的题目: 注:其中用户可以