C语言中除法怎么取得小数?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C语言中除法怎么取得小数?相关的知识,希望对你有一定的参考价值。

1、打开C-Free,新建文件。
2、输入以下内容:(以除法为例)
#include
<stdio.h>
main()

float
a,b,c;
printf("请输入被除数:");
scanf("%f",&a);
printf("\n请输入除数:");
scanf("%f",&b);

c=a/b;
printf("\n%f÷%f=%f\n",a,b,c);

3、按F5运行,得到结果。
4、float
a,b,c;意思是设置三个名为a,b,c的浮点变量,区别于整形变量(int
a,b,c;)和字符串变量(char
a,b,c;),浮点变量是可以带小数的数值变量。
5、scanf("%f",&a);表示将你输入的数字以带6位小数的形式储存于a中。
6、c=a/b;
是一个赋值语句,意思是将a除以b的值给c。四则运算中,加法运算符为+,减法为-,乘法为*,除法为/。
7、如果只想保留三位小数,可以在%f中间加.3,即printf("\n%.3f÷%.3f=%.3f\n",a,b,c)。
8、当然%.3f与%d一样前面的%f与后面变量按顺序一一对应即可。
参考技术A 除了一开始用float进行定义之外,后面进行除法运算的时候要加.0,否则算出的结果电脑会自动取整~~如:3/2的结果和3.0/2的结果就不同~~因为没有定义3/2为浮点型,所以3/2自动取整,结果等于1而3.0/2,由于预先用浮点型表示其结果显然为:1.5
除法运算符"
/
",如果是两个整数相除结果为整数如果需要保留小数时
必须将其中一个除数转换为浮点数
#i
nclude
#i
nclude
main()

float
x;
float
y;
printf("enter
x:");
scanf("%d",&x);
y=fabs((5*x+1)/(x*x+1));
printf("y
is
%f\n",y);

或者
#i
nclude
#i
nclude
main()

int
x;
float
y;
printf("enter
x:");
scanf("%d",&x);
y=fabs((float)(5*x+1)/(x*x+1));
printf("y
is
%f\n",y);
参考技术B 除了一开始用float进行定义之外,
后面进行除法运算的时候要加.0,
否则算出的结果电脑会自动取整~~
如:3/2的结果和3.0/2的结果就不同~~
因为没有定义3/2为浮点型,所以3/2自动取整,
结果等于1
而3.0/2,由于预先用浮点型表示
其结果显然为:1.5
希望对你有所帮助~~

在C语言中除法运算为啥没有小数部分?

#include <stdio.h>
#include <math.h>
main()
int x;
float y;
printf("Enter x:");
scanf("%d",&x);
y=fabs((5*x+1)/(x*x+1));
printf("y is %f\n",y);


1、在C语言中附法是整除运算,比如a/b,表示a中有几个b。
2、示例:
3/2=1 //这是取整运算,即3中有1个2。
3、要保留小数,需要将结果表示成浮点数类型。
示例:(3*1.0)/2=1.5
或者 double result = 3 / 2 ;
参考技术A /是取整 整数除法的时候 只取整数部分,当除数或者被除数有一个为float类型时 才有小数部分

把除数 或 被除数 改为一个小数 就行了。。。
参考技术B int x,float y都变成double x

int x就会舍去小数

其实double的速度要比float快的。学过汇编的基本都知道
参考技术C 声明int i -》 float i
/是取整 整数除法的时候 只取整数部分,当除数或者被除数有一个为float类型时 才有小数部分
参考技术D 整数除整数=整数,如果你想得到浮点数可以这样 ((5*x+1)*1.0)/(x*x+1); //浮点数除以整数得到浮点数

以上是关于C语言中除法怎么取得小数?的主要内容,如果未能解决你的问题,请参考以下文章

怎样在c语言除法中保留小数点?

在C语言中除法运算为啥没有小数部分?

c 语言中除号仅用于整数间吗?

C语言浮点数除法可以精确到多少位小数

c语言是如何处理除法运算的呀?

C语言中如何保留一位小数点?