(C语言)格式输出,右对齐,做题记录

发布时间 2023-09-21 15:05:15作者: Kazuma_124

题目

读入三个整数,按每个整数占 8 个字符的宽度,右对齐输出它们,按照格式要求依次输出三个整数,之间以一个空格分开。

题解

printf("%8d", i);可以输出整数 i,让它占至少 8 个字符的宽度(即场宽为8):如果 i 不够8 位则在左边补空格使它右对齐满 8 位,如果 i 的输出的位数 ≥ 8,则输出整个 i

同理,printf("%8s", s); 可以输出字符串 s,使 s 在 8 个字符长的区域中右对齐,如果 s 多于 8 位则会输出整个字符串 s。

如果你想左对齐怎么办呢?只要在 8 前加上 - 即可。

#include <bits/stdc++.h>
using namespace std;
int main()
{
   char a[100], b[100], c[100]; // 用字符串
   scanf("%s%s%s", a, b, c); // 读入(不要加 &)
   printf("%8s %8s %8s", a, b, c); // 根据题意输出
   return 0;
}