首页 > 其他 > 详细

自动生成四则运算

时间:2015-03-25 21:06:29      阅读:156      评论:0      收藏:0      [点我收藏+]

#include<stdio.h>

#include<math.h>

#include<time.h>

void main()

{

 char f;  

double a;

 double b;

 int c;

 int i;  

int n,n1,n2,n3,x,x1;  

while(1)  

{  

 printf("输入想要生成的题目数:");   

scanf("%d",&n);   

printf("输入计算的最大范围:");   

scanf("%d",&n1);   

printf("是否存在乘除法(1.是,2否):");

  scanf("%d",&n2);   

printf("是否存在小数(1.是,2否):");  

 scanf("%d",&n3);  

 if(n3==1)   

{    

 printf("保留几位小数:");   

  scanf("%d",&x);

  }   

x1=pow(10,x);  

 for(i=0;i<n;i++)  

 {   

 if(n3==1)  

  {    

 a=rand()%n1+(float)(rand()%(x1+1))/pow(10,x);   

  b=rand()%n1+(float)(rand()%(x1+1))/pow(10,x);      

   }    

else   

 {     

a=rand()%n1+1;   

  b=rand()%n1+1;  

  }   

 if(n2==1) c=rand()%4+1;  

  else c=rand()%2+1;

   switch(c)   

 {     case 1: f=‘+‘;

break;     

case 2: f=‘-‘;break;    

 case 3: f=‘*‘;break;    

 case 4: f=‘/‘;break;   

 }    

printf("\n%.*lf%c%.*lf= \n",x,a,f,x,b);

  }  

 if(n==0) break;

 }

}

 

 

这段编码实现了随机生成四则运算并且可以选择以下几个功能:

1、生成的题目数

2、计算的最大范围

3、是否存在乘除法

4、是否存在小数并选择保留几位小数

 

没有实现的功能:

1、是否有括号

2、不支持分数

 

感想:虽然四则运算是我们小学就开始学的东西,可是如果用c来编写代码实现四则运算的生成要考虑很多的东西,如何生成小数,怎么添加括号以及如何写入分数都是要考虑的问题。

 

自动生成四则运算

原文:http://www.cnblogs.com/ZHL-Dragon/p/4366776.html

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