C语言 此题输出的结果如何保留两位小数
#include
int main() { float a,n,p; double l; scanf("%f%f%f",&a,&n,&p); l=a*pow(1+p,n)-a; printf("l=%lf",l); return 0; } 展开
格式化输出: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<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强制转换浮点型,才能得出带小数的结果。
扩展资料:
在c语言中产生格式化输出的函数(定义在 stdio.h 中),其向未重定向终端(显示器、控制台等)输出字符。
Format 参数是包含三种对象类型的一个字符串:
* 无格式字符复制到输出流;
* 转换规范,每个规范导致在值参数列表中检索 1 个或更多个项;
* 转义序列。
通常意义上format的格式如下:
%[flags][width][.prec][F|N|h|l]type
参考资料:
1、当输出单精度浮点型float变量f时,可以用printf("%.2f", f);来使输出结果保留两位有效数字。其中.2就是代表保留两位,如果要保留三位就是%.3f。用%.0f就是只输出整数。
2、如果是双精度浮点数double,就需要用%.2lf来使输出结果保留2位小数。
可以在输出的时候限制小数点位数。
1、当输出单精度浮点型float变量f时,可以用printf("%.2f", f)来使输出结果保留两位有效数字。
2、如果是双精度浮点数double,就需要用%.2lf来使输出结果保留2位小数。
下面讨论浮点型的两种类型。
1 .单精度浮点型(float)
单精度浮点型(float )专指占用32位存储空间的单精度(single-precision )值。单精度在一些处理器上比双精度更快而且只占用双精度一半的空间,但是当值很大或很小的时候,它将变得不精确。
2 .双精度型浮点型(double)
双精度型,正如它的关键字"double "表示的,占用64位的存储空间。在一些现代的被优化用来进行高速数学计算的处理器上双精度型实际上比单精度的快。
所有超出人类经验的数学函数,如sin( ),cos( ) ,tan()和sqrt( )均返回双精度的值。
一、把浮点数转变为字符,只保存小数点后两位,再转变回浮点型;
二、把浮点数扩大100倍,转变为整型(则丢失后面的数),再转变为浮点型,在除以100。
如果还需要考虑四舍五入,则扩大1000倍,+5,转变为整型(则丢失后面的数),除以10,再转变为浮点型,最后除以100。