求第二小题细解,本人理解能力很差,上课没听懂,但是很想学习,

 我来答
wovie89
2016-03-07 · TA获得超过2496个赞
知道小有建树答主
回答量:800
采纳率:77%
帮助的人:380万
展开全部

#include<stdio.h> 

int main(){

//定义一个浮点数f并且赋值为1.234567 

float f = 1.234567;

//%f:按浮点数输出默认输出精确到小数点后6位 

//%10f:"10"代表输出这个数占10个位宽,"f"代表按浮点数格式输出 

// %10.4f:"10"代表输出这个数占10个位宽,".4" 代表输出的这个浮点数精确到小数点后4位 ,"f"代表按浮点数格式输出

printf("%f,%10f,%10.4f\n",f,f,f);

// %.0f:".0" 代表输出的这个浮点数精确到小数点后0位也就是不显示小数部分 ,"f"代表按浮点数格式输出 

// %.4f:".4" 代表输出的这个浮点数精确到小数点后4位 ,"f"代表按浮点数格式输出

//%-5.2f:"-5"代表输出的这个浮点数占5个位宽,"-"代表左对齐输出,".2"代表精确到小数点后2位 

printf("%.0f,%.4f,%-5.2f\n",f,f,f); 

return 0; 

更多追问追答
追问
为什么得到这个运行结果,还是不太理解
可以详细点吗?
wang06998
2016-03-07 · TA获得超过5659个赞
知道大有可为答主
回答量:3755
采纳率:83%
帮助的人:2476万
展开全部
%f是要求输出实数,%和f之间允许添加一定的格式控制符。
这个题里面考的是宽度控制符。
宽度控制符有两种,第一种是整数(此处代号M,下同),第二种是.整数(此处整数代号N,下同。注意整数前面有小数点)。

具体例子:
第一种:%10f(%和f之间有整数,这个整数是多少你说了算本例为10)
第二种:%.4f(%和f之间有.和整数,同样这个整数是多少你说了算,本例为4,整数为4。但别忘了小数点的存在。)
还有第一和第二结合的例子,那就是%10.4f了

--------------------------------------------------
M数据输出总宽度,也就是输出这个数,一共需要在屏幕上输出多少个字符。注意,总的宽度,包含整数部分、小数部分,还有小数点。
N专门指小数位宽度。注意,这个专门指小数位宽度,不包含整数部分和小数点。

-------------------------------------------------------
M如果不予指定,则按实际所需宽度为准,实际需要多少,就占多少字符宽度。如果指定的比实际所需更多,那么数据右对齐,左边补空格补足指定位数。如果指定的不够,则编译器不予采纳,以实际所需为准。如果需要右边补空格左对齐,那么前面加减号-,也就是-M
具体例子,看这个题答案就行了

N如果不予指定,默认四舍五入保留六位小数。如果指定,则完全以指定的为准。如果N为0,代表四舍五入保留到整数部分,同时小数点都不输出了。

编译器先确认N指定的位数,确认后才会去对比M指定的总宽度
--------------------------------------------------------

这样:

%f对应的输出内容是1.234567,因为没指定宽度,先确认输出6位小数(没指定N),然后整数位宽度1,再加小数点,总宽度实际所需8位,而且没指定M,那么以实际所需的8位宽度为准

%f后面的逗号原样输出

%10f,接上述内容,小数位6位确认后,再加上整数位和小数点,一共所需8位,指定总宽度10位,还差2位。所以输出2个空格之后在输出1.234567,这样补足10位宽度

%10f后面的逗号原样输出

%10.4f,小数位4位确认后,小数位对四舍五入变为2346,再加上整数位和小数点,一共所需6位,指定总宽度10位,还差4位。所以输出4个空格之后在输出1.2346,这样补足10位宽度

%10.4f后面的回车原样输出

第一条printf结束
////////////////////////////////////////
%.0f,指定舍弃小数位和小数点,四舍五入保留整数,所以1.234567对应的值为1,同时没指定M,总宽度以实际所需的1位宽度为准,输出1.

%.0f后面的逗号原样输出

%.4f,类似%10.4f,只不过不需要添加空格了。

%.4f后面的逗号原样输出

%-5.2f,类似前面的讲解。要求小数位2位,四舍五入后得到23,整数位位1,再加小数点,实际所需宽度是4位。指定总宽度位5,那么需要补一个空格,但是有个减号,要求末尾补空格,那就是1.23再加一个空格

末尾回车原样输出

*************************************************
完整的输出内容格式如下:
1.234567, 1.234567, 1.2346
1,1.2346,1.23
(有多少空格自己拿鼠标数)
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式