C的占位符问题
输出一列整数,按整数右对齐方式输出,每个元素占相同的位数,且各个元素之间空格的最少数量应等于1
其实只要解决这个问题就行了,输出100,应该%4d,输出1000,就是%5d。。相当是动态占位符的感觉
这个应该怎么办,用占位符可以吗,还是只能字符串处理了
[解决办法]
printf("%*d",width, data);
前面的width表示输出位宽
[解决办法]
printf("%*d",width, data);
这个还真没见过!能是右对齐吗?
[解决办法]
还是得计算一遍多少个字符啊..
这样:
int len,n;
scanf("%d",&n);
char buf[16];
len=sprintf(buf,"%d",n);
printf("%*d",len+1,n);
[解决办法]