c语言中怎么保留小数2位
#include<stdio.h>voidmain(){doublea,b,c,d;scanf("%lf,%lf,%lf",&a,&b,&c);d=(a+b+c)/3;p...
#include <stdio.h>
void main()
{
double a,b,c,d;
scanf("%lf,%lf,%lf",&a,&b,&c);
d=(a+b+c)/3;
printf("%2f\n",d);
}
明明已经只让他保留2位小数了。为什么输出答案的时候小数位数会是6位 展开
void main()
{
double a,b,c,d;
scanf("%lf,%lf,%lf",&a,&b,&c);
d=(a+b+c)/3;
printf("%2f\n",d);
}
明明已经只让他保留2位小数了。为什么输出答案的时候小数位数会是6位 展开
11个回答
展开全部
在c语言中一个数保留2位小数可以通过精度限定符来完成,精度限定符有一个点号后跟一个整数组成。
示例:
#include <stdio.h>
int main()
{
dobule a = 1.23456;
printf("%.2f\n", a);
return 0;
}
/*
输出:1.23
*/
注意:这里保留小数是四舍五入的,即如果保留的小数位数的后一位大于等于5,则进1,否则舍去,如示例中的a的值改为1.23556,则会输出1.24。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
把printf("%2f\n",d) 改为 printf("%2.2f",d) 就可以了
之所以会输出6位是因为浮点型数据默认输出的是小数点后6位
之所以会输出6位是因为浮点型数据默认输出的是小数点后6位
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2014-09-20
展开全部
printf("%2f\n",d);//跟printf("%f\n",d);的效果在这是一样的
改成:printf("%.2f\n",d); //加小数点,后面数字是几就是保留几位小数
改成:printf("%.2f\n",d); //加小数点,后面数字是几就是保留几位小数
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询