UVA 490-Rotating Sentences

2023 ワード

#include
#include<string.h>

char ch[105][105];

int main()
{
int cnt = 0, ans = 0;
while( gets(ch[cnt]))
{
int len = strlen( ch[cnt]);
if( len > ans) ans = len;
cnt ++;
}
for(int j = 0; j < ans; j ++)
{
for( int i = cnt - 1; i >= 0; i --) {
if( j < strlen( ch[i]) )
printf( "%c", ch[i][j]);
else
printf( "");
}
printf("
");
}
return 0;
}

この問題は入力した文を反時計回りに90°回転して出力し、葛藤した問題はスペースの出力で、断固として何度もWAした.
どれだけの文をcntでカウントし、最も長い文をansでカウントし、最後の文字から始めるかを統計する必要があります.
1列1列の出力に従います.最初は文字列配列全体を''''にしてch[i][j]を出力する方法を使っていましたが、わかりませんでした.
どうして違うの.その後、ある文が出力されたかどうかを判断する代わりに、残りはスペースで埋めます.
 
転載先:https://www.cnblogs.com/Yu2012/archive/2011/11/04/2236010.html