问题链接: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 != ' ' && c != EOF) s[i++] = c; s[i] = ' '; 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(' '); } return 0; }