C语言怎么输出固定长度的字符串?

就是,假如我有几个字符串a[]={'a','b','c',d'};,b[]={'a','b','c'};,c[]={'a','b'},把它们都输出来,,但必须都得是5个字符,,比如第一个,就得输出'a','b','c','d',' ',第二个输出'a','b','c',' ',’ ‘,第二个输出'a','b',' ',' ',' '。
怎么办???

#include <stdio.h>

int main()
{
// char a[]={'a','b','c','d'};  //不要定义成字符数组 
// char b[]={'a','b','c'};
// char c[]={'a','b'};

char a[]="abcd";   //定义成字符串形式 
char b[]="abc";
char c[]="ab";

printf( "%6s\n" ,a );   //%6s,每个字符串输出都是6个字符,不足的补空格 
printf( "%6s\n" ,b );
printf( "%6s\n" ,c );
}

     这是运行后的结果

温馨提示:答案为网友推荐,仅供参考
第1个回答  2013-08-27
int a[]={ 'a','b','c','d',0 },b[]={'a','b','c',0},c[]={'a','b',0}; //字符串需要以0结束
printf("%-5s%-5s%-5s\n",a,b,c); //%-5s的意思是每个字符串占5个字符位置,左对齐
第2个回答  推荐于2017-09-03
#include <stdio.h>
#include <string.h>
void main()
{
char s1[100],s2[100];
int i,j,k;
char temp;
printf("Please input 2 string:\n");
gets(s1);
gets(s2);
for(i=0;i<strlen(s2);i++)
{
temp=s2[i];
j=0;
while(s1[j]!='\0')
{
if(s1[j]==temp)
{
k=j;
while(s1[k]!='\0')
{
s1[k]=s1[k+1];
k++;
}
}
j++;
}
}
printf("The result is:\n");
puts(s1);
}
第3个回答  2013-08-26
//比如输出a,其他同理。
int i;
for(i=0;i<5;i++)
if(i<strlen(a))printf("%c",a[i]);
else printf("%c",' ');
第4个回答  2013-08-26
用格式控制字符串, 例如
printf("%5s", a);

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网