PAT基础编程题目集2—1046:说反话-堆栈版

题目描述

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

输入描述:

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


 

输出描述:

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

输入例子:

Hello World Here I Come

输出例子:

Come I Here World Hello

算法实现: 

#include <stdio.h>
#include <string.h>

int main()
{
    char hello[81],i[81];
    gets(hello);
    long world=strlen(hello)-1,come=0;
    while (world>=0) {
        
        while (hello[world]!=' '&&world>=0) {
            i[come]=hello[world];
            come++;
            world--;
        }
        world--;
        while (come) {
            printf("%c",i[come-1]);
            come--;
        }
        if (world<0) {
            break;
        }
        printf(" ");
    }
    
    return 0;
}

猜你喜欢

转载自blog.csdn.net/qq_40711025/article/details/81474355
今日推荐