题目
读入三个整数,按每个整数占 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;
}