• 四则运算


    Github项目地址:

    https://github.com/huige666666/sizeyunsuan/tree/master

    1题目:

      (1)能自动生成小学四则运算题目,并且不能出现负数;

    (2)能支持真分数的四则运算;

     

    2思路:

     四则运算加减乘除,采用两个随机数,由于不能出现负数,则对两个随机数进行比较大小再进行减法运算,除法一向特殊,所以在随机数的取值范围中设置不包括0

     

    3,实现过程:

      void add()实现加法运算。

      void minu()实现减法运算。

      void mul()实现乘法运算。

      void di()实现除法运算。

     

    4, 代码说明:

      首先说明整数的四则运算,生成两个随机数并随机运算,在减法中比较大小防止出现负数,在除法中比较大小并循环取整除的随机数组合。最后输出算式并返回正确答案。

      

      #include<stdio.h>

    #include<math.h>

    #include<windows.h>

    int right=0;

    int wrong=0;

    void add()

    {

     int a,b,c;

     a=rand()%100;

     b=rand()%100;

     printf("请回答: %d + %d = ",a,b);

     scanf("%d",&c);

     if(a+b==c)

     {

      printf("回答正确! ");

      right++;

     }

     else

     {

      printf("回答错误! ");

      wrong++;

     }

    }

    void minu()

    {

     int a,b,c;

     a=rand()%100;

     b=rand()%100;

     printf("请回答: %d - %d = ",a,b);

     scanf("%d",&c);

     if(a-b==c)

     {

      printf("回答正确! ");

      right++;

     }

     else

     {

      printf("回答错误! ");

      wrong++;

     }

    }

    void mul()

    {

     int a,b,c;

     a=rand()%100;

     b=rand()%100;

     printf("请回答: %d * %d = ",a,b);

     scanf("%d",&c);

     if(a*b==c)

     {

      printf("回答正确! ");

      right++;

     }

     else

     {

      printf("回答错误! ");

      wrong++;

     }

    }

    void di()

    {

     int a,b,c;

     a=rand()%100;

     b=rand()%100;

     printf("请回答: %d / %d = ",a,b);

     scanf("%d",&c);

     if(a/b==c)

     {

      printf("回答正确! ");

      right++;

     }

     else

     {

      printf("回答错误! ");

      wrong++;

     }

    }

    int main()

    {

     int choise;

     int con=0;

     printf(" 欢迎进入小学简易四则运算 ");

     while(1)

     {

      printf("请选择: ");

      printf("  加法运算(请输入1 ");

      printf("  减法运算(请输入2 ");

      printf("  乘法运算(请输入3 ");

      printf("  除法运算(请输入4 ");

      printf("  退出运算(请输入5 ");

      if(con==0)

       scanf("%d",&choise);

      switch(choise)

      {

      case 1:

       add();

       break;

      case 2:

       minu();

       break;

      case 3:

       mul();

       break;

      case 4:

       di();

       break;

      case 5:

       return 0;

      }

      printf(" 继续运算?(请输入1 ");

      printf(" 重新选择?(请输入2 ");

      printf(" 退出运算?(请输入3 ");

      scanf("%d",&con);

      if(con==1)

       con=1;

      else if(con==2)

       con=0;

      else if(con==3)

       break;

      else

       printf("抱歉!,你输入的指令有误!请重新输入! ");

     }

     printf("您总共完成了 %d 道题 正确 %d 错误 %d ",right+wrong,right,wrong);

    }

    5,测试运行:

     先测试运行第一个模式,如下图:

       

     

     

    测试运行第二个模式,如下图:

      

      

    测试运行第三个模式,如下图:

      

     

    测试运行第四个模式,如下图:

     

    6,效能分析

     考虑到用户输入会影响效能分析中的时间因素,去掉了主函数中接受用户输入并比较的部分,直接改成由代码随机生成算式然后计算结果。

     

    7,PSP表格:

     

  • 相关阅读:
    目标检测算法的进展
    基础 | batchnorm原理及代码详解
    MTCNN人脸及特征点检测---代码应用详解(基于ncnn架构)
    Android.mk文件c++头文件包含问题
    linux下的find文件查找命令与grep文件内容查找命令
    TensorFlow基础笔记(15) 编译TensorFlow.so,提供给C++平台调用
    TensorFlow基础笔记(0) tensorflow的基本数据类型操作
    tensorflow函数解析:Session.run和Tensor.eval的区别
    TensorFlow基础笔记(14) 网络模型的保存与恢复_mnist数据实例
    SQL Server 2005/2008遍历所有表更新统计信息
  • 原文地址:https://www.cnblogs.com/qiuhonghui/p/10571262.html
Copyright © 2020-2023  润新知