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

  • 主要功能: 可自动随机生成加、减、乘、除四则运算,输入答案是,可直接判断正误。
  • 设计思想:利用C语言,使用随机函数生成运算数
  • 源代码:
    #include<stdio.h>
    #include<stdlib.h>
    #include<time.h>
    int i=0,j=0;
     
    void jia()
    {
        int a,b,m;
        srand(time(NULL));
        a=1+rand()%100;
        b=1+rand()%100;
        printf("%d\n",a);
        printf("%d\n",b);
        printf("a+b=?\n");
        printf("请输入结果\n");
        scanf("%d",&m);
        if(m==a+b)
        {
            printf("你答对了棒棒哒\n");
            i++;
        }
        else
        {
            printf("你答案有错误请改正\n");
            j++;
        }
         
    }
     
    void jian()
    {
        int a,b,m;
        srand(time(NULL));
        a=1+rand()%100;
        b=1+rand()%100;
        if(a<b)
        {
            int t=0;
            t=a;a=b;b=t;
        }
        printf("%d\n",a);
        printf("%d\n",b);
        printf("a-b=?\n");
        printf("请输入运算结果\n");
        scanf("%d",&m);
        if(m==a-b)
        {
            printf("你答对了棒棒哒\n");
            i++;
        }
        else
        {
            printf("你答案有错误请改正\n");
            j++;
        }
         
    }
    void cheng()
    {
        int a,b,m;
        srand(time(NULL));
        a=1+rand()%20;
        b=1+rand()%20;
        printf("%d\n",a);
        printf("%d\n",b);
        printf("a*b=?\n");
        printf("请输入运算结果\n");
        scanf("%d",&m);
        if(m==a*b)
        {
            printf("你答对了棒棒哒\n");
            i++;
        }
        else
        {
            printf("你答案有错误请改正\n");
            j++;
        }
         
    }
    void chu()
    {
        int a,b,m;
        srand(time(NULL));
        a=1+rand()%100;
        b=1+rand()%100;
        if(b==0)
        {
            b=1+rand()%100;
        }
        if(a<b)
        {
            int t=0;
            t=a;a=b;b=t;
        }
        while(a%b!=0)
        {
            a=1+rand()%100;
            b=1+rand()%100;
        }
        printf("%d\n",a);
        printf("%d\n",b);
        printf("a/b=?\n");
        printf("请输入运算结果\n");
        scanf("%d",&m);
        if(m==a/b)
        {
            printf("你答对了棒棒哒\n");
            i++;
        }
        else
        {
            printf("你答案有错误请改正\n");
            j++;
        }
         
    }
    <br>
    int main()
    {
        int m,n=0;
        while(1)
        {
            printf("1.加法运算\n");
            printf("2.减法运算\n");
            printf("3.乘法运算\n");
            printf("4.除法运算\n");
            printf("请选择");
            scanf("%d", &m);
            switch(m)
            {
            case 1:jia();break;
            case 2:jian();break;
            case 3:cheng();break;
            case 4:chu();break;
            }
            printf("5.请重新选择\n");
            printf("6.结束\n");
            scanf("%d", &n);
            if(n==6) break;
        }
        printf("你回答题的总数%d和正确的个数%d\n",i+j,i);
        return 0;
    }

     

      

  •   程序运行截图:
  • (1)选择运算方法:
  • (2)选择运算方法:
  • (3)当结果正确时:

PS:其他运行算法没有依次截图,都是一样的,结果正确或错误都可马上弹出。

 

 

总结:  我是利用C语言做的,代码和程序都不算很难,但我已经尽力了,总的来说收获很大,大二的时候做过计算器,我觉得这两种方法比较起来,对学习编程有很大的帮助,相辅相成。其实我觉得加、减、乘、除的结构都是差不多的,会一个其他的也可以闻一知十,由于我基础还需要加强,真分数的编程代码和方式我会慢慢学习,也会认真看老师在群里发的链接,和推荐的书籍,希望对自己有帮助。

posted @ 2016-03-16 20:38  葡萄味的奥利奥  阅读(341)  评论(0编辑  收藏  举报