1、C语言中要使用右对齐,只能使用printf进行格式化输出;
2、要进行右对齐,必须指定输出宽度,否则输出时无法确定对齐位置;
3、设置输出宽度,可以在输出格式前加代表宽度的数字,比如 %14d,表示输出宽度为14个字符;
4、设置输出宽度后,默认为左对齐,要设置右对齐,需要加-号,即%-14d;
5、 %-14d这个例子用来输出整型,其它类似,比如 %10f用来输出float类型,10位宽度,右对齐,而%-18s表示输出字符串,18位宽度,右对齐;
6、当以这种形式输出时,要保证输出的有效宽度小于设置的宽度,即输出的可见字符总数要小于指定的宽度数值,否则printf会按照实际宽度输出,导致对齐失败。
C语言默认右对齐,如果不做特别改动,默认右对齐。可以根据需要为输出样式加上宽度,例如:printf(“%10d”),如果需要左对齐,则在占位符前加上负号,例如:printf(“%-10d”)。
扩展资料:
格式占位符(%)是在C/C++语言中格式输入函数,如scanf、printf等函数中使用。其意义就是起到格式占位的意思,表示在该位置有输入或者输出。
常见的还有:
%d,用来输出十进制整数。
%f,用来输出实数(包括单,双精度),以小数形式输出。
%c,用来输出一个字符。
%s,用来输出一个字符串。
参考资料来源:百度百科-占位符
计算一下需要打印多少空格就好了
#include <stdio.h>int main()
{
int i, j, a, t
a = 10
printf("Input:")
scanf("%d", &t)
for (i = 1 i <= 10 i++)
{
int r
if (i <= t - a)r = 10 - i////够
else r = 10 - t + a - 1////不够
for (j = 1 j <= r j++)
{
printf(" ")
}
for ( j <= 10 && a <= t j++, a++)
{
printf(" %d", a)
}
printf("\n")
}
return 0
}