题解【B2004 对齐输出】
update: 加了对 printf("%8d")、printf("%8s") 的解释。
根据题意模拟即可。
printf("%8d", i)可以输出整数i,让它占至少8 个字符的宽度(即场宽为8 ):如果i不够8 位则补空格使它右对齐满8 位,如果i的输出的位数{\ge}\ 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;
}
可以去本站测,可以过的。
虽然题面写 int 也可以。