标签:
"R
Ie
n
te
h
iD
ne
kc
,a
r
tt
he
es
r
eo
fn
oc
re
e
s
Ia
i
ad
m,
.
"
Language:C++ 4.8.2
#include<stdio.h>
#include<string.h>
#define MAXN 100+10
char str[MAXN][MAXN];
int main(void)
{
memset(str, 0, sizeof(str));
int count = 0;
while(fgets(str[count], MAXN, stdin) != NULL)
count++;
// 程序执行到这里,count代表读入句子的个数
int max_length = 0;
for(int i = 0; i < count; i++)
{
int length = strlen(str[i]);
if(max_length < length)
max_length = length;
}
max_length--; // 没有这一行的话,程序WA,这是由fgets的特性决定的,因为在我们开的空间足够大的情况下,字符串会以‘\n‘和‘\0‘结尾。
int row, col;
for(row = 0; row < max_length; row++)
{
for(col = 0; col < count; col++)
{
int ch = str[count-1-col][row];
if(ch == ‘\0‘ || ch == ‘\n‘)
putchar(‘ ‘);
else
putchar(ch);
}
putchar(‘\n‘); // 注意:如果该行前加语句if(row != max_length -1),也会WA,个中缘由自己体会吧。
}
return 0;
}
PS:开始理解错题意了,以为每行的输入字符个数是递增的,导致一直A不了。
标签:
原文地址:http://www.cnblogs.com/xpjiang/p/4368193.html