① c语言中保留两位小数如何写
输出时?%.2f 即可指定输出两位小数 。
例题:
356.f表示什么:举个例子:%a.bf (a,b均为整数) 是说输出时按浮点数输出,共占a位。其中小数部分b位(若数值本身位数不足,后补0;超过则截断),小数点1位,整数部分a-b-1位(不足,前补空格;超出则按实际位数输出)。 当a或b为空时,a或b按系统默认取值。 所以356.f 就是一共输出356位(前面很多空格),小数部分则按系统默认输出6位。
前面没有百分号:没有%啊,那就直接输出356.f 不过,这样可能会出现错误:前面的变量输出描述和后面的变量不对应。
② C语言编写函数,对浮点数保留两位小数,对第三位四舍五入。程序如下 #include<stdio.h
#include<math.h>
voidsum(floatx)
{
floata,b,c,d;
intf;
c=100*x;
b=floor(c);
a=1000*x;
d=(a-10*b);
f=floor(d);
printf("%d",f);
if(f<5)
{x=x; printf("%.2f",x);}
if(f>5)
{x=x+0.01;
printf("%.2f",x-0.01);}
if(f=5)//这里写成了赋值语句,应该是==
{printf("%.2f",x+0.01);}
}
main()
{
floatx;
scanf("%f",&x);
sum(x);
}
③ C语言如何实现输出浮点数小数点两位(四舍五入法),但若小数点最后位为零则舍去
要对某个浮点数比如x保留到小数点后两位,可以将x乘以100,变成对这个数进行四舍五入到个位。
double f(double x)
{
double j = (x>=0?1.0:-1.0); //j是符号
return int(abs(x)*100+0.5)/100.0*j; //进行四舍五入,注意考虑正负号
}
④ C语言保留两位小数的问题
你给的代码是有错误的,但你说运行结果是0.00000,我暂且认为你的代码是这样的:
#include <stdio.h>
double a = 0.9876;
int main(void)
{
printf("%f", (int)((a + 0.005) * 100) / 100);
return 0;
}
((0.9876
+
0.005)
*
100)
/
100)
的结果是0.9926。因为
(int)
强制转换使0.9926取整,变成整型数字0。又因为“%f”的转换说明要求输出浮点数,程序给0后补零,变成0.000000。
你的题目是“C语言保留两位小数的问题”,想给该程序结果保留两位小数,应将代码改成:
#include <stdio.h>
double a = 0.9876;
int main(void)
{
printf("%.2f", ((a + 0.005) * 100) / 100);
return 0;
}
“%.2f”就是输出结果为保留小数点后两位的浮点数。但这里不是四舍五入,是直接截取。
⑤ c语言编程序实现:一个带有两位小数的浮点数的四舍五入。怎么做
其实C语言本来就提供四舍五入的功能,关键是你要输出小数的几位。
要输出几位,就在输出时 “ %0.*f” 的 “ * ” 处填多少就行了。O(∩_∩)O~
# include <stdio.h>
int main()
{
float a; //定义一个浮点数a
scanf("%f", &a); //输入a
printf("%0.1f", a); //输出a,对a小数点后两位进行四舍五入
return 0;
}
⑥ c语言浮点数保留固定小数
#include<stdio.h>
#include<string.h>
intmain()
{
doublea=10.4356,b;
chars[50];
sprintf(s,"%.2lf",a);//输入到字符串
sscanf(s,"%lf",&b);//从字符串中读入
printf("%lf ",b);
return0;
}
⑦ c语言如何让输出结果精确到两位小数
可以在输出的时候限制小数点位数。
1、当输出单精度浮点型float变量f时,可以用printf("%.2f",
f);来使输出结果保留两位有效数字。其中.2就是代表保留两位,如果要保留三位就是%.3f。用%.0f就是只输出整数。
2、如果是双精度浮点数double,就需要用%.2lf来使输出结果保留2位小数。
⑧ 用C语言怎么实现浮点数的四舍五入,保留两位小数点
C语言怎么实现浮点数的四舍五入,保留两位小数的设计过程为:
定义浮点点数变量df,输入浮点数
浮点数df扩大100倍
浮点数df增加0.5
利用floor()函数得到最接近df数,但不大于df的整数(完成四舍五入)。不能用int强制转换,否则,数据超过int范围就会出现错误。
浮点数df缩小100倍得到有两位小数的浮点数
按%.2f输出结果。
参考代码:
#include<stdio.h>
#include<math.h>
voidmain()
{
doubledf=0;
printf("inputd:");scanf("%lf",&df);
df*=100;
df+=0.5;
df=floor(df);
df/=100;
printf("d=%.2f ",df);
}
⑨ C语言 此题输出的结果如何保留两位小数
#include<stdio.h>
#include<string.h>
char str[51];
int n,count,i;
int main()
{
scanf("%s",&str);
n=strlen(str);
count=1;
for(i=1;i<n;i++)
{if(str<i>!=str[i-1])
count++;
else continue;
}
double ans;
ans=(float)n/count;
printf("%.2f",ans);
}
printf("%.2f",ans);是保留两位小数
n和count都是int型,用float强制转换浮点型,才能得出带小数的结果。
(9)C语言浮点数保留两位扩展阅读:
在c语言中产生格式化输出的函数(定义在 stdio.h 中),其向未重定向终端(显示器、控制台等)输出字符。
Format 参数是包含三种对象类型的一个字符串:
* 无格式字符复制到输出流;
* 转换规范,每个规范导致在值参数列表中检索 1 个或更多个项;
* 转义序列。
通常意义上format的格式如下:
%[flags][width][.prec][F|N|h|l]type
⑩ c语言中 如何输出小数点后保留2位小数的实型常量
1、在c语言中一个数保留2位小数可以通过精度限定符来完成,精度限定符有一个点号后跟一个整数组成。
2、示例:
#include<stdio.h>
intmain()
{
dobulea=1.23456;
printf("%.2f ",a);
return0;
}
/*
输出:1.23
*/
注意:这里保留小数是四舍五入的,即如果保留的小数位数的后一位大于等于5,则进1,否则舍去,如示例中的a的值改为1.23556,则会输出1.24。