程序设计就是让计算机按照一定的指令来进行工作,可以说数据的处理是程序设计的主要任务。那么,C语言中的小数(float,double)怎么输出?欢迎大家阅读!更多相关信息请关注相关栏目!
小数也称实数或浮点数。嫌茄明例如,0.0、75.0、4.023、0.27、-937.198 都是合法的小数。这是常见的小数的表现形式,称为十进制形式。
除了十进制形式,也可以采用指数形式,例如 7.25×102、0.0368×105、100.22×10-2等。任何小数都可以用指数形式来表示。
C语言中的小数也有这两种表示形式。在书写时,十进制形式和数学中的一样,指数形式有所差异。
在C语言中小数的芹告指数形式为:
aEn 或 aen
a 为尾数部分,是一个十进制数,n 为指数部分,是一个十进制整数,E或e是固定的字符,其值为 a×10n。例如:
纳渗2.1E5 = 2.1×105,其中2.1是尾数,5是指数。
3.7E-2 = 3.7×10-2,其中3.7是尾数,-2 是指数。
0.5E7 =0.5×107,其中0.5是尾数,7是指数。
C语言中小数的.数据类型为 float 或 double:float 称为单精度浮点数,double 称为双精度浮点数。不像整数,小数的长度始终是固定的,float 占用4个字节,double 占用8个字节。
小数的输出
输出 float 使用 %f 控制符,输出 double 使用 %lf 控制符,如下所示:
#include#includeint main(){float a = 0.302ffloat b = 1.23002398double c = 123double d = 78.429float e = 128.101printf("a=%f b=%f c=%f d=%lf e=%lf ", a, b, c, d, e)return 0}
运行结果:
a=0.302000
b=1.230024
c=123.000000
d=78.429000
e=128.100998
对代码的说明:
1) %f 默认保留六位小数,不足六位以 0 补齐,超过六位按四舍五入截断。
2) 将整数赋值给 float 变量时会转换为小数。
#include <stdio.h>void main(){
float i,j,sum=0,f
int m,a[100],count=1,count1=1,n=1,p,p1,n1
printf("请输入小数:")
scanf("%f",&i)
printf("空指请输入保留的小数位数:")
scanf("%d",&m)
j=i-(int)i/*得出小数部分*/
printf("%f"或明,j)
while(count<=m+1) //取出小数后m+1位
{
j=j*10//更新j值,把小数点后第一位放在个位上
a[n]=(int)j%10
/*printf("%d",a[n])*/
n++
count++
}
if(a[n-1]>=5){
a[n-2]=a[n-2]+1
}
for(p=1p<np++){
printf("\n%d",a[p])
}
for(p1=1p1<n-1p1++){
n1=p1
f=a[p1]
while(p1!=0){
f=f/10.0
p1--
}
sum=sum+f
/斗团配*printf("\n%f",sum)*/
p1=n1
}
printf("所需要结果为:%f",sum+int(i))
}
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)