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

#include#includeintmain(){floata,n,p;doublel;scanf("%f%f%f",&a,&n,&p);l=a*pow(1+p,n)-... #include
#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; }
展开
 我来答
浪子_回头99
高粉答主

推荐于2019-11-18 · 说的都是干货,快来关注
知道小有建树答主
回答量:1949
采纳率:100%
帮助的人:85.1万
展开全部

格式化输出: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-百度百科

问明6E
高粉答主

2019-05-17 · 每个回答都超有意思的
知道答主
回答量:279
采纳率:100%
帮助的人:11.8万
展开全部

#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

本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
金鱼8884
推荐于2017-09-12 · 知道合伙人数码行家
金鱼8884
知道合伙人数码行家
采纳数:124 获赞数:14947
学生

向TA提问 私信TA
展开全部
  可以在输出的时候限制小数点位数。
1、当输出单精度浮点型float变量f时,可以用printf("%.2f", f);来使输出结果保留两位有效数字。其中.2就是代表保留两位,如果要保留三位就是%.3f。用%.0f就是只输出整数。
2、如果是双精度浮点数double,就需要用%.2lf来使输出结果保留2位小数。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
帐号已注销
高粉答主

2018-06-26 · 繁杂信息太多,你要学会辨别
知道小有建树答主
回答量:385
采纳率:100%
帮助的人:10.7万
展开全部

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

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

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

下面讨论浮点型的两种类型。

1 .单精度浮点型(float)

单精度浮点型(float )专指占用32位存储空间的单精度(single-precision )值。单精度在一些处理器上比双精度更快而且只占用双精度一半的空间,但是当值很大或很小的时候,它将变得不精确。

2 .双精度型浮点型(double)

双精度型,正如它的关键字"double "表示的,占用64位的存储空间。在一些现代的被优化用来进行高速数学计算的处理器上双精度型实际上比单精度的快。

所有超出人类经验的数学函数,如sin( ),cos( ) ,tan()和sqrt( )均返回双精度的值。

本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
sgwjcan10929
2022-08-08
知道答主
回答量:1
采纳率:0%
帮助的人:300
展开全部
除了print的时候只输出2位小数外,想要让浮点数本身只含两位小数,有两种思路:
一、把浮点数转变为字符,只保存小数点后两位,再转变回浮点型;
二、把浮点数扩大100倍,转变为整型(则丢失后面的数),再转变为浮点型,在除以100。
如果还需要考虑四舍五入,则扩大1000倍,+5,转变为整型(则丢失后面的数),除以10,再转变为浮点型,最后除以100。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(5)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式