自动生成小学四则运算题目

Posted 李晨曦Aurora。

tags:

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

主要功能:运算小学四则运算,可以选择加减乘除以及混合运算。

设计思想:首先思考运算数字范围,考虑小学生的运算能力,然后分类运算方法,分为加减乘除混合运算,

然后可以选择是继续做题还是退出程序,可以总结做对或者做错的题数,方便计算正确以及错误的题数。

源代码:

/*小学四则运算*/

#include<stdio.h>
#include<stdlib.h>
#include<time.h>
int right=0,wrong=0;
int a,b,c,d;

/*加法运算*/
void add()
{        
    
    int i,j;
    for(i=0;i<5;i++)
    {    
        a=rand()%50;//rand()产生一个随机函数,分布范围是0到最大整数,得到1-49的整数
        b=rand()%50;
        printf("请回答:%d+%d=",a,b);
        scanf("%d",&j);
        if(a+b==j)
            {
                printf("回答正确\n\n");
                right++;
            }
            else
            {
                printf("回答错误\n\n");
                wrong++;
            }
        continue;
    }

}
/*减法运算*/
void minu()
{
    int i,j;
    for(i=0;i<5;i++)
    {    
        a=rand()%50;//rand()产生一个随机函数,分布范围是0到最大整数,得到1-49的整数
        b=rand()%50;
        printf("请回答:%d-%d=",a,b);
        scanf("%d",&j);
        if(a-b==j)
            {
                printf("回答正确\n\n");
                right++;
            }
            else
            {
                printf("回答错误\n\n");
                wrong++;

            }
            continue;
    }

}
/*乘法运算*/
void mul()
{
    int i,j;
    for(i=0;i<5;i++)
    {
        a=rand()%50;//rand()产生一个随机函数,分布范围是0到最大整数,得到1-49的整数
        b=rand()%50;
        printf("请回答:%d*%d=",a,b);
        scanf("%d",&j);
        if(a*b==j)
            {
                printf("回答正确\n\n");
                right++;
            }
            else
            {
                printf("回答错误\n\n");
                wrong++;
            }
            continue;
    }

}
/*除法运算*/
void di()
{
    int i,j;
    for(i=0;i<5;i++)
    {
        a=rand()%50;//rand()产生一个随机函数,分布范围是0到最大整数,得到1-49的整数
        b=rand()%50;
        printf("请回答:%d/%d=",a,b);
        scanf("%d",&j);
        if(a/b==j)
            {
                printf("回答正确\n\n");
                right++;
            }
            else
            {
                printf("回答错误\n\n");
                wrong++;
            }
            continue;
    }

}
/*混合运算*/
void hunhe()
{
    int i,j;
    for(i=0;i<5;i++)
    {
        a=rand()%50;//rand()产生一个随机函数,分布范围是0到最大整数,得到1-49的整数
        b=rand()%50;
        c=rand()%50;
        d=rand()%50;
        printf("请回答:%d+%d-%d*%d=",a,b,c,d);
        scanf("%d",&j);
        if(a+b==j)
            {
                printf("回答正确\n\n");
                right++;
            }
            else
            {
                printf("回答错误\n\n");
                wrong++;
            }
            continue;
    }

}
void main()
{
    printf("\n欢迎进入小学四则运算\n\n");
        while(1)
        {    
            int con=0,choose=0;
            printf("请选择:\n");
            printf("加法运算请输入(1)\n");
            printf("减法运算请输入(2)\n");
            printf("乘法运算请输入(3)\n");
            printf("除法运算请输入(4)\n");
            printf("混合运算请输入(5)\n");
            if(con==0)
                scanf("%d",&choose);
            switch(choose)
            {
                case 1:add();break;
                case 2: minu(); break;
                case 3: mul(); break;
                case 4: di(); break;
                case 5: hunhe(); break;
            }
            printf("\n重新选择?请输入(1)\n");
            printf("\n退出运算?请输入(2)\n");
            scanf("%d",&con);
            if(con==1)
                con=1;
            if(con==2)
                break;
        }
        printf("您总共完成%d道题\n正确%d道\n错误%d道\n",right+wrong,right,wrong);
}

程序运行截图:技术分享技术分享技术分享技术分享技术分享

总结:通过这次作业,我觉得我对于C语言方面的知识还是差了一点基础,我通过询问同学、伙伴,请教他们来帮助我,请教了好多的问题,还和同学借了书,来巩固自己的专业知识,我也通过网络来查找代码,来进行修改,在这些基础上,才有了我的这次作业,也通过这次作业,让我有了一个计划和目标,要努力学习这些专业知识,和同学进行多一点的交流,来弥补一下我自己的不足,也是通过这次作业才明白了自己的薄弱点,要把自己不会的地方都弄会了,多多学习、节约、浏览这方面的书籍。完成这次作业,才明白了编程的不容易,也很谢谢同学们。

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

作业二: 编写自动生成小学四则运算题目的程序

定制小学四则运算题目

自动生成小学四则运算题目(Python实现)

自动生成小学四则运算题目

能自动生成小学四则运算题目的程序

超级无敌小学四则运算题目程序