PAT乙级 b1009

1009 说反话 (20)(20 分)

给定一句英语,要求你编写程序,将句中所有单词的顺序颠倒输出。

输入格式:测试输入包含一个测试用例,在一行内给出总长度不超过80的字符串。字符串由若干单词和若干空格组成,其中单词是由英文字母(大小写有区分)组成的字符串,单词之间用1个空格分开,输入保证句子末尾没有多余的空格。

输出格式:每个测试用例的输出占一行,输出倒序后的句子。

输入样例:

Hello World Here I Come

输出样例:

Come I Here World Hello

思路:

最简单的办法便是枚举法   

code:

#include <cstdio>
#include <cstring>
int main ()
{
    int len,i,r =0,h = 0;
    char str [90],ans [90][90];
    // 枚举法字符串 并储存在二维数组当中
    gets(str);
    len = strlen(str);
    for (i = 0;i <= len;i++){
        if ( str[i] != ' '){
            ans [r][h++] = str [i];
        }
        else {
            ans [r][h] = '\0';
            r++;
            h = 0;
        }

    }

/*

    //输出原数组
    for (i = 0;i <= r;i++){
        printf ("%s",ans [i]);
        if (i >= 0){
            printf (" ");
        }
    }

    printf ("\n");

*/

    //倒序输出二维数组的内容
    for (i = r;i >= 0;i--){
        printf ("%s",ans [i]);
        if (i > 0){
            printf (" ");
        }
    }
    return 0;
}

猜你喜欢

转载自blog.csdn.net/qq_40696484/article/details/81003473