c语言根据一个变量,动态显示小数点后位数,最后一位还要四舍五入,怎么设计?

如题所述

1比如显示a位 该数乘以10的a次方 加0.5 取整 按字符串输出 合适的地方输出小数点
2如果小数点后位数少的话用switch 按照一般%.2f这样方便一些
温馨提示:内容为网友见解,仅供参考
第1个回答  2012-06-12
#include<stdio.h>
void main(){
double k = 1.9876;
char s[]={"%.0f\n"};
int n , i , h ;
for(n=0;n<9;n++){//n表示小数位数
s[2] = n + '0';
for(i=0,h=1;i<n;i++,h*=10);
printf(s,1.0*((int)(k*h+0.5))/h);
}
}本回答被提问者采纳
第2个回答  2012-06-12
直接用TC的函数

c语言根据一个变量,动态显示小数点后位数,最后一位还要四舍五入,怎么...
1比如显示a位 该数乘以10的a次方 加0.5 取整 按字符串输出 合适的地方输出小数点 2如果小数点后位数少的话用switch 按照一般%.2f这样方便一些

用C语言编程如何实现保留几位小数并对最后一位四舍五入呀?谢谢了
很简单,假如你有一个float型变量a,其值为1.23456,而你只想保留三位小数,也就是希望得到1.235,只需要令:a = (int)(1000.0 * a + 0.5) \/ 1000.0 即可。如果要保留四位小数,就把1000都换成10000,依次类推。

c语言对一个三位小数的数字进行四舍五入怎么编程
四舍五入后小数=(小数*1000%100\/10+1)*0.01+(小数*1000\/100)*0.1

c语言中怎么四舍五入
int main(void){ float a ;scanf(“%f”,&a);a=(int)(a*1000+0.5)\/1000.0;printf (“%0.3f”,a);return 0;}

...我想输出一个小数的小数点后五位,要求四舍五入,该怎么办? #includ...
这个样子就可以了。.5f就是输出四舍五入之后的5位小数的。

小数点后两位四舍五入保留用输入输出函数做。用C语言怎么做?
printf("%a.2f",b);(其中a是你输出的数总共占的数字位数)2就是保留2位,你可以按照需要来设定,但不能超过b的精确度,

c语言如何四舍五入 跟 进一法除法 的 算法
include<stdio.h> int main(){int a,b;scanf("%d%d",&a,&b);printf("%d\/%d(四舍五入)=%d\\n",a,b,(int)((float)a\/b+0.5));printf("%d\/%d(进一法)=%d\\n",a,b,(int)(float)(a+b-1)\/b);return 0;}

c语言编程序实现:一个带有两位小数的浮点数的四舍五入。怎么做?
其实C语言本来就提供四舍五入的功能,关键是你要输出小数的几位。要输出几位,就在输出时 “ %0.*f” 的 “ * ” 处填多少就行了。O(∩_∩)O~include <stdio.h> int main(){ float a; \/\/定义一个浮点数a scanf("%f", &a); \/\/输入a printf("%0.1f", a); \/\/...

C语言中对求得的值取小数点后一位,对第二位按四舍五入处理怎么操作
显然,这就可以解释c语言在拥有四舍五入系统的前提下,在某些情况中仍然无法得到准确的四舍五入后的数字!故对于需要四舍五入的情况,我们往往采用另一种形式进行四舍五入。首先我们知道,对于十进制小数.5类型数(如0.5,11.5,18.5)即小数部分可以以2的负一次方来表示的数,这时计算机是可以“...

C语言如何实现输出浮点数小数点两位(四舍五入法),但若小数点最后位为...
printf("四舍五入后,数据变为:%s\\n,",buffer);return 0;} float 为单精度浮点型数据,在Turbo C中单精度型占4个字节(32位)内存空间,其数值范围为3.4E-38~3.4E+38,只能提供7位有效数字。建议输入采用字符串形式,这样统计不会出偏差,使用数字时,使用double atof( const char *str )...

相似回答