解题思路:

题目要求用6.2f的格式,意思就是用占位符 %6.2f 的形式来输出

其中 f 表示单精度浮点数,即 float 类型,小数点后的2表示要保留两位小数

小数点前的6表示输出的数字共占6位(小数点也算一位),如果不足6位则用空格补全,数字靠右对齐

补充:

如果想让数字靠左对齐可以在占位符中写负号,例如: %-6.2f

如果想用数字0来补全空位可以在占位符前多写个0,例如: %06.2

注意事项:

不要忘了题目要求的用空格间隔

参考代码:

#include <stdio.h>

int main()
{
    float num;                  //定义数字,类型为 float
    scanf("%f", &num);          //输入
    printf("%6.2f\n", num); 
    printf("%6.2f %6.2f\n", num, num);
    printf("%6.2f %6.2f %6.2f\n", num, num, num);
    return 0;
}


点赞(0)
 

0.0分

16 人评分

C语言网提供由在职研发工程师或ACM蓝桥杯竞赛优秀选手录制的视频教程,并配有习题和答疑,点击了解:

一点编程也不会写的:零基础C语言学练课程

解决困扰你多年的C语言疑难杂症特性的C语言进阶课程

从零到写出一个爬虫的Python编程课程

只会语法写不出代码?手把手带你写100个编程真题的编程百练课程

信息学奥赛或C++选手的 必学C++课程

蓝桥杯ACM、信息学奥赛的必学课程:算法竞赛课入门课程

手把手讲解近五年真题的蓝桥杯辅导课程

评论列表 共有 7 条评论

玛卡巴卡 2年前 回复TA
@天真小巫 保留两位小数,无论大小都会向上取数
天真小巫 3年前 回复TA
为什么输出不是0.61而变为了0.62?
天真小巫 3年前 回复TA
Alexis 3年前 回复TA
#include<stdio.h>

int main()
{
    float s;
    scanf("%f",&s);
    for(int i=1;i<4;i++){
        for(int j=1;j<=i;j++){
            printf("%6.2f ",s);
        }
        printf("\n");
    }
    return 0;
}
小明来了 3年前 回复TA
//请设计输出实数的格式,包括:⑴一行输出一个实数;⑵一行内输出两个实数;⑶一行内输出三个实数。实数用"6.2f"格式输出
#include<stdio.h>
int main()
{
	float num;
	int n=1;
	scanf("%f",&num);
	while(n<=3)
	{
		for(int i=1;i<=n;i++)
		{
			printf("%6.2f ",num);
		}
		printf("\n");
		n++;
	}
	return 0;
}
bobo 3年前 回复TA
@努力坚持 小傻瓜
努力坚持 4年前 回复TA
#include<stdio.h>
int main()
{
	float y;int i,j;
	scanf("%f",&y);
	for(i=0;i<3;i++)
	for(j=0;j<=i;j++)
	{
	printf("%6.2f",y);
	if(i>0&&j<i)
	printf(" ");
	else printf("\n");
}
	return 0;
}