问题链接:UVA490 Rotating Sentences。
题意简述:输入若干行字符串,将其旋转90度后输出。
问题分析:需要一个二维数组存储输入的字符串,好在规模不大。
程序说明:封装了函数mygets()(函数gets()在新标准中,被建议不要使用,作用就自己做一个),其他都是套路。
AC的C语言程序如下:
/* UVA490 Rotating Sentences */
#include <stdio.h>
#include <memory.h>
#define MAXN 100
char s[MAXN+1][MAXN+1];
int mygets(char s[])
{
int i = 0;
char c;
while((c = getchar()) && c != '\n' && c != EOF)
s[i++] = c;
s[i] = '\0';
return i;
}
int main(void)
{
int linecount, maxlen, i, j;
memset(s, 0, sizeof(s));
linecount = 0;
maxlen = 0;
while(mygets(s[linecount])) {
i = strlen(s[linecount]);
if(i > maxlen)
maxlen = i;
linecount++;
}
for(i=0; i<maxlen; i++) {
for(j=linecount-1; j>=0; j--)
putchar((s[j][i] == 0) ? ' ' : s[j][i]);
putchar('\n');
}
return 0;
}