我在做此题的的时候,用一个整型数组来存储每一个输入字符串的长度,在输入的时候,计算出最长的字符串。
在输出的时候,如果控制列数的变量数值大于字符串的长度,就输出空格,否则就输出字符串所对应列数的字符。
代码如下:
#include <stdio.h>
#include <string.h>
int main()
{
int i,j,n,l,max;
char s1[100][100];
int a[100];
i=0;
max=0;
while(gets(s1[i]))
{
l=strlen(s1[i]);
a[i]=l;
if(l>=max)
{
max=l;
}
i+=1;
}
n=i;
for(i=0;i<=max-1;i++)
{
for(j=n-1;j>=0;j--)
{
if(i<=a[j]-1)
{
printf("%c",s1[j][i]);
}else
{
printf(" ");
}
}
printf("\n");
}
return 0;
}