C语言 此题输出的结果如何保留两位小数

作者&投稿:茅东 (若有异议请与网页底部的电邮联系)
c语言问题,这道题怎么在输出时保留两位小数~

此代码在最后printf("sum = %.2f
",sum);中的%.2f已经将结果的小数点后第3位四舍五入到第2位保留2位小数了。不知你问的还有没有其他意思?

可以在输出的时候限制小数点位数。
当输出单精度浮点型float变量f时,可以用
printf("%.2f", f);
来使输出结果保留两位有效数字。其中.2就是代表保留两位,如果要保留三位就是%.3f。用%.0f就是只输出整数。

如果是双精度浮点数double,就需要用%.2lf来使输出结果保留2位小数。

格式化输出:printf("l=%.2lf",l),在%后点一个小数点,然后输入需要保留小数的数量,就可以输出想要的结果。

printf()函数是格式化输出函数, 一般用于向标准输出设备按规定格式输出信息。

printf()函数的调用格式为: printf("<格式化字符串>", <参量表>)。

格式输出,它是c语言中产生格式化输出的函数(在 stdio.h 中定义)。用于向终端(显示器、控制台等)输出字符。格式控制由要输出的文字和数据格式说明组成。要输出的文字除了可以使用字母、数字、空格和一些数字符号以外,还可以使用一些转义字符表示特殊的含义。

扩展资料:

在c语言中产生格式化输出的函数(定义在 stdio.h 中),其向未重定向终端(显示器、控制台等)输出字符。

Format 参数是包含三种对象类型的一个字符串:

* 无格式字符复制到输出流;

* 转换规范,每个规范导致在值参数列表中检索 1 个或更多个项;

* 转义序列。

通常意义上format的格式如下:

%[flags][width][.prec][F|N|h|l]type

参考资料:printf-百度百科



#include&lt;stdio.h&gt;

#include&lt;string.h&gt;

char str[51];

int n,count,i;

int main()

{

scanf("%s",&str);

n=strlen(str);

count=1;

for(i=1;i&lt;n;i++)

{if(str&lt;i&gt;!=str[i-1])

count++;

else continue;

}

double ans;

ans=(float)n/count;

printf("%.2f",ans);

}

printf("%.2f",ans);是保留两位小数

n和count都是int型,用float强制转换浮点型,才能得出带小数的结果。

扩展资料:

在c语言中产生格式化输出的函数(定义在 stdio.h 中),其向未重定向终端(显示器、控制台等)输出字符。

Format 参数是包含三种对象类型的一个字符串:

* 无格式字符复制到输出流;

* 转换规范,每个规范导致在值参数列表中检索 1 个或更多个项;

* 转义序列。

通常意义上format的格式如下:

%[flags][width][.prec][F|N|h|l]type

参考资料:

百度百科——printf



  可以在输出的时候限制小数点位数。
1、当输出单精度浮点型float变量f时,可以用printf("%.2f", f);来使输出结果保留两位有效数字。其中.2就是代表保留两位,如果要保留三位就是%.3f。用%.0f就是只输出整数。
2、如果是双精度浮点数double,就需要用%.2lf来使输出结果保留2位小数。

可以在输出的时候限制小数点位数。

1、当输出单精度浮点型float变量f时,可以用printf("%.2f", f)来使输出结果保留两位有效数字。

2、如果是双精度浮点数double,就需要用%.2lf来使输出结果保留2位小数。



除了print的时候只输出2位小数外,想要让浮点数本身只含两位小数,有两种思路:
一、把浮点数转变为字符,只保存小数点后两位,再转变回浮点型;
二、把浮点数扩大100倍,转变为整型(则丢失后面的数),再转变为浮点型,在除以100。
如果还需要考虑四舍五入,则扩大1000倍,+5,转变为整型(则丢失后面的数),除以10,再转变为浮点型,最后除以100。


名山县13554222707: 在C语言程序中,要求输出的表达式的值保留两位小数,其输出格式如何写?在C语言程序中,要求输出的表达式的值保留两位小数,其输出格式如何写?请... -
牛从爱活:[答案] printf("%.2f",123.456) %.2f就是保留两位小数

名山县13554222707: 在C语言计算出的结果中怎么保留小数点后两位 -
牛从爱活: 可以抄在输出的时候限制小数点位数. 当输出单袭精度浮点型float变量f时,可以用 printf("%.2f", f); 来使输出结果2113保留5261两位有效数字.其中.2就是4102代表保留两位,如果要保留三位就是%.3f.用%.0f就是只输出整数.如果是双精度浮点1653数double,就需要用%.2lf来使输出结果保留2位小数.

名山县13554222707: c语言如何让输出结果精确到两位小数 -
牛从爱活: C语言中浮点数输出精确到两位小数的语句如下1 2doublea=2.0; printf("%.2f", a);//其中.2指明两位小数说明:如%9.2f 表示输出场宽为9的浮点数, 其中小数位为2, 整数位为6,如果9缺省则场宽为该数实际位数 规定符 %d 十进制有符号整数 %u 十进制无符号整数 %f 浮点数 %s 字符串 %c 单个字符 %p 指针的值 %e 指数形式的浮点数 %x, %X 无符号以十六进制表示的整数 %o 无符号以八进制表示的整数 %g 把输出的值按照%e或者%f类型中输出长度较小的方式输出 %p 输出地址符 %lu 32位无符号整数 %llu 64位无符号整数

名山县13554222707: 在C语言计算出的结果中怎么保留小数点 -
牛从爱活: 可以用printf("%.2f", f);来使输出结果保留两位小数.

名山县13554222707: c语言程序设计题,1:从键盘上输入两个实数,并求和,把结果输出,结果保留两位小数. -
牛从爱活: #include<stdio.h> main() { double a,b; scanf("%lf%lf",&a,&b); printf("%.2lf\n",a+b); }

名山县13554222707: 在C语言程序中,要求输出的表达式的值保留两位小数,其输出格式如何写? -
牛从爱活:printf("%.2f",123.456) %.2f就是保留两位小数

名山县13554222707: C语言得到的数保留两位小数应该怎么写语句? -
牛从爱活: 如果需要保留2位小数,那么就要在输出函数printf函数中规定输出格式了. 具体格式如下: printf("%.2f"); // 使输出的数按四舍五入的准则保留2位小数,不足2位就在后面补0更一般的表示如下: printf("%a.bf"); // 其中a, b都表示整数.输出格式如下: // 整数部分按a位的固定位宽输出(不足a位就在前面补空格,大于a位就按实际位数输出) // 小数部分按四舍五入的准则保留b位小数(不足b位就在后面补0)

名山县13554222707: 在C语言中怎样保留两位整数? -
牛从爱活: 如果你想保留几位整数,不够的在前面补0,可以这样做,比如:#include<stdio.h>void main() {int a=1;printf("%03d",a); }它表示结果有3位,不够的前面补0,超过3位就将整数完全显示,不限制在3位...

名山县13554222707: C语言四舍五入保留两位小数 -
牛从爱活: 应该是精度问题.因你使用的是float变量,你可以用printf显示a*100的结果是155.499995而不是155.50000你可以全改成double型#include <stdio.h> double fun ( double h ) { return (long)( h * 100 +0.5 )/ 100.0; }main( ) { double a;printf ("Enter a: ...

名山县13554222707: c语言整型怎么保留2位小数啊 就像int a,b,c;a=1,b=2,c=3;求平均数结果是2.00 -
牛从爱活: ((float)a+b+c)/3); 将a转换为float,那运算的结果就是浮点型,也即可以得到小数,输出的时候用%.2f,就是保留2位小数求平均数时将a、b、c中的一个强制转换成浮点型,输出的时候,限定保留两位小数就ok. 例如: printf("%.2f"

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网