printf ("编号\t数量\t价格\t名称du\n");
用\t隔开输入的信息名称,在输入的时候,每输入一个数就tab一下,就可以对齐了。
换码符'\t',表示水平制表位(horizontal tab),它的作用是将光标移到最接近8的倍数的位置,使得后面的输入从此开始。换句话说,让所有的数据都紧跟在制表符后面输出。
#include <stdioh>
#include <stringh>
int main()
{
int a,b;
scanf("%d %d", &a,&b);
printf("%s\n","Octal Decimal Hexadecimal");
printf("%o %d %x\n%o %d %x",-strlen("Octal"),a,-strlen("Decimal"),a,-strlen("Hexadecimal"),a,-strlen("Octal"),b,-strlen("Decimal"),b,-strlen("Hexadecimal"),b);
return 0;
}
扩展资料:
printf()函数是式样化输出函数, 一般用于向准则输出设备按规定式样输出消息。正在编写步骤时经常会用到此函数。printf()函数的挪用式样为: printf("<式样化字符串>",<参数表>);
其中式样化字符串包括两部分内容: 一部分是正常字符, 这些字符将按原样输出;另一部分是式样化规定字符, 以"%"开端, 后跟一个或几个规定字符, 用来确定输出内容式样。 参量表是需求输出的一系列参数, 其个数务必与式样化字符串所阐明的输出参数个数一样多, 各参数之间用英文逗号","分开, 且顺序逐一对应, 不然将会出现意想不到的错误。
参考资料来源:百度百科-printf()
如果双引号也要产生对齐效果
那就需要先把双引号赋值到字符串中。
比如
char s[100]="";s[0]='"';//赋值左侧双引号。
scanf("%s",s+1);//从第二个开始赋值。
s[strlen(s)]='"';//赋值右侧。
printf("%20s\n", s);不好意思我帮你修改的最后也没运行但编译连接都没错,但我想思路是没错的,看一下共同进步!!!见笑了,如若知道哪错了请指点!!!
#include <stdioh>
int main()
{
int yang[5][5];
int i,j,k;
for (i=4;i<=0;i--)
{
k=4-i;
//输出每一行元素!!!
for (j=0;j<5;j++)
if (j<i)//输出每一行的没有值的元素 !!!
{
yang[k][j]='\32';
printf("%6c",yang[k][j]);
}
else
if(j==i||j==4)//输出每一行的两个1 !!!
{
yang[k][j]=1;
printf("%6d",yang[k][j]);
}
else//输出每一行的两个1中间的元素 !!!
{
yang[k][j]=yang[k-1][j]+yang[k-1][j+1];
printf("%6d",yang[k][j]);
}
printf("\n");
}
return 0;
}
祝学习愉快!!!printf("%-7d", 10000); //左对齐且占用7个位置
printf("%7d, 10000); //右对齐且占用7个位置
其他的依次类推
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)