UVA490 Rotating Sentences

问题链接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;
}


posted on 2016-08-17 10:24  海岛Blog  阅读(107)  评论(0编辑  收藏  举报

导航