首页 > 其他 > 详细

四则运算

时间:2019-03-21 14:40:31      阅读:136      评论:0      收藏:0      [点我收藏+]

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("请回答:\n\t\t %d + %d = ",a,b);

 scanf("%d",&c);

 if(a+b==c)

 {

  printf("回答正确!\n");

  right++;

 }

 else

 {

  printf("回答错误!\n");

  wrong++;

 }

}

void minu()

{

 int a,b,c;

 a=rand()%100;

 b=rand()%100;

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

 scanf("%d",&c);

 if(a-b==c)

 {

  printf("回答正确!\n");

  right++;

 }

 else

 {

  printf("回答错误!\n");

  wrong++;

 }

}

void mul()

{

 int a,b,c;

 a=rand()%100;

 b=rand()%100;

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

 scanf("%d",&c);

 if(a*b==c)

 {

  printf("回答正确!\n");

  right++;

 }

 else

 {

  printf("回答错误!\n");

  wrong++;

 }

}

void di()

{

 int a,b,c;

 a=rand()%100;

 b=rand()%100;

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

 scanf("%d",&c);

 if(a/b==c)

 {

  printf("回答正确!\n");

  right++;

 }

 else

 {

  printf("回答错误!\n");

  wrong++;

 }

}

int main()

{

 int choise;

 int con=0;

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

 while(1)

 {

  printf("请选择:\n");

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

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

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

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

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

  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("\n\t\t\t继续运算?(请输入1\n");

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

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

  scanf("%d",&con);

  if(con==1)

   con=1;

  else if(con==2)

   con=0;

  else if(con==3)

   break;

  else

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

 }

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

}

5,测试运行:

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

   技术分享图片

 

 

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

  技术分享图片

  

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

  技术分享图片

 

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

 技术分享图片

6,效能分析

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

 

7,PSP表格:

技术分享图片

 

四则运算

原文:https://www.cnblogs.com/qiuhonghui/p/10571262.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!