这道题有点绕人,简单的说这道题类似于矩阵的旋转,将字符串数组逆时针旋转90度。代码如下:
#include <stdio.h>
#include <string.h>
int main()
{
int len;
int i=0;
int maxlen=0;//i,maxlen一定要初始化,不然i会造成数组内存越界,maxlen会造成逻辑错误
int j,a;
char str[105][105];
memset(str,0,sizeof(str));
while(gets(str[i])!=NULL)
{
len=strlen(str[i]);//strlen函数能够求出字符串实际长度
if(len>maxlen) /*求最长的字符串长度*/
maxlen=len;//求出最长字符串可以减少后续操作的次数,节省运行时间
i++;
}
for(j=0;j<maxlen;j++)
{
for( a=i-1;a>=0;a--)
{
if(str[a][j]==0)
printf(" ");
else
printf("%c",str[a][j]);
}
printf("\n");
}
return 0;
}