c语言小数除法

在C语言中利用3/2结果是1
用3.0/2或者3/2.0或者3.0/2.0结果都是1.5
但是不可能随时都是可以除的尽,例如说4.0/3,
怎么样才可以让用户输入的答案与计算机的答案一样
而且,让计算机认为你的回答正确
例如:4.0/3,并
if(i==4.0/3)
printf("回答正确!");
用户输入的i是1.33时计算机需要认可,并打印出:回答正确,的样式!
我做了很多次,依然是不对,
这该怎么做?
后来我采用过浮点数,例如说是4.0/3,计算机的计算结果很大1.333333333你设置多少个小数位它就给你多少个小数三,我们的课程设计是需要保留两位,例如这个题,当我输入1.33时,计算机的if(i==4.0/3)要相等,也就是说我输入的1.33=计算机计算结果1.3333333的循环,计算机要认可!怎么做呢?

第1个回答  推荐于2016-10-30
改为if(i>4.0/3-0.01&&i<4.0/3+0.01);

#include "stdio.h"
main()
{
float i;
scanf("%d",&i);
if(i>4.0/3-0.01&&i<4.0/3+0.01);
printf("zheng que") ;
getch( );
}本回答被提问者采纳
第2个回答  2008-09-11
很简单了,调整一下if语句的判断条件就OK了
如果只是这么精确到小数点后两位这么简单的判断的话
用float就绰绰有余了
非用double的话,float改为double就可以了
编译器:VC++ 6.0
--------------------------
#include <stdio.h>

int main(int argc,char * argv[])
{
float i=(float)1.33,
j;
float k;

j= (float)4.0/3;
k= (j>i)?j-i:i-j;
if(k<0.005)
{
printf("%s","»Ø´ðÕýÈ·");
}

return 0;
}
第3个回答  2008-09-11
可以这样i=4.0/3,如果你想保留两位小数的话,可以i=i*100,int a=i;这样a就是i的整数部分了,然后再if(h==a*1.0/100)判断就可以了。举个例子:i=4.0/3,i=1.33333333...,i=i*100后,i=133.333333...
int a=i;a=133,然后a*1.0/100=1.33,这样就可以了.
第4个回答  2008-09-11
浮点型数值的相等判断一般不直接比较,而是比较它们的差的绝对值是否小于一个给定的足够小的数(这个数根据实际需要的精度选择),
所以可以改为:
float f = i - 4.0/3;
if(f > -0.01 && f < 0.01) printf("回答正确!");
第5个回答  2008-09-11
数据类型要浮点型

C语言算小数间的除法且结果也是小数的应该怎么表示?
在C语言中整数没有除法,只有取商(\/),取余(%),所以,也没有什么舍入,2\/3=0,3.2\/2=1.6(2也是浮点数,因为不同数据类型的数是不能参与运算的),1.50000*6=9.0(同理,6也是浮点数)。C语言是一门通用计算机编程语言,应用广泛。C语言的设计目标是提供一种能以简易的方式编译、处理低级存储...

C语言中除法怎么取得小数?
1、打开C-Free,新建文件。2、输入以下内容:(以除法为例)include <stdio.h> main(){ float a,b,c;printf("请输入被除数:");scanf("%f",&a);printf("\\n请输入除数:");scanf("%f",&b);\\t c=a\/b;printf("\\n%f÷%f=%f\\n",a,b,c);} 3、按F5运行,得到结果。4、float a...

C语言里除法为什么总是除到小数点后的余数?
先加减后乘除。C语言中的加号、减号与数学中的一样,乘号、除号不同;另外C语言还多了一个求余数的运算符,就是 %。不同类型的除数和被除数会导致不同类型的运算结果:当除数和被除数都是整数时,运算结果也是整数;如果不能整除,那么就直接丢掉小数部分,只保留整数部分,这跟将小数赋值给整数类型...

c语言中除法运算规则
c语言中除法运算规则如下:1.整数除法:如果两个操作数都为整数类型,那么除法运算得到的结果也是整数类型,即舍去小数部分。例如,5\/2的结果是2。2.浮点数除法:如果其中一个操作数是浮点数类型,那么除法运算的结果也是浮点数类型。例如,5.0\/2的结果是2.5。3.除数为0:在进行除法运算时,除数不能...

C语言中的除法,怎么才能得到有小数点的确切数字
5\/2是整型相除,结果就是整型 如果你把除数或者被除数改为浮点型的话 然后输出加以控制如:printf("%0.1f",x); 结果为2.5 得到的结果就会含有小数!include<stdio.h> void main(){ float a=5.0;int b=2;printf("%0.1f",a\/b);} ...

C语言题目 除法保留两位小数
void main(){ int i=15,j=4;float h;h=(float) (15*100\/4)\/100;printf("%.2f",h);} 注:%f:不指定宽度,整数部分全部输出并输出6位小数。 %m.nf:输出共占m列,其中有n位小数,如数值宽度小于m左端补空格。-m.nf:输出共占n列,其中有n位小数,如数值宽度小于m右端补空格。

怎样在c语言除法中保留小数点?
int main(){ float c;\/\/首先要把你要求的数定义成浮点型,通俗的讲就是float和double就是小数型;int a=5,b=3;\/\/int整数型,它自动把小数去掉;c=1.0*a\/b;\/\/最重要的是要乘以1.0;printf("%.2f",c);\/\/%.2f;%后面的是点(.)几,就保留几位小数;return 0;} 希望能帮到你,...

C语言除法运算结果是整数,为何不是小数?
C语言规定除法运算符( \/ )的运算结果的数据类型与被除数的数据类型保存一致,所以一个整数除以另一个整数的结果为整数。举例如下:int a=5, b=3;float c;c = a\/b; \/\/ 输出结果为1.0解释如下:虽然变量c是float型的,按常理c应该等于1.667,但是由于被除数(即变量a)的数据类型为int型,...

在C语言中除法运算为什么没有小数部分?
1、在C语言中附法是整除运算,比如a\/b,表示a中有几个b。2、示例:3\/2=1 \/\/这是取整运算,即3中有1个2。3、要保留小数,需要将结果表示成浮点数类型。示例:(3*1.0)\/2=1.5 或者 double result = 3 \/ 2 ;

C语言除法问题,关于保留小数的
"请输入被除数n:"); scanf("%d",&n); printf("请输入除数m:"); scanf("%d",&m); k=n%m; sum=n\/m; while(i<N) { k*=10; a[i]=k\/m; k=k%m; i++; } if(a[99]>=5) a[98]+=1; printf("%d\/%d=%d.",n,m,sum); for(i=0;...

相似回答