单词反序输出

C++编译环境

黑窗输入时,win可用ctrl+Z

linux可用ctrl+D

Xcode可用control+D告诉系统已经到了EOF

#include <cstdio>

int main(int argc, const char * argv[]) {
    // insert code here...
    int num = 0;
    char ans[90][90];
    while(scanf("%s",ans[num]) != EOF)
        num++;
    for(int i=num-1;i >= 0;i--){
        printf("%s",ans[i]);
        if(i>0) printf(" ");
    }
    return 0;
}

 还可以根据gets获取的输入,用空格区分每个单词

#include <cstdio>
#include <cstring>

int main(int argc, const char * argv[]) {
    // insert code here...
    char str[90];
    gets(str);
    size_t len = strlen(str);
    int r = 0,h = 0;    //r为行,h为列
    char ans[90][90] = {0};   //ans[0]~ans[r]存放单词
    
    for(long i=0;i<len;i++){
        if(str[i] != ' ')   //不是' ',置ans[r][h],h+1
            ans[r][h++] = str[i];
        else{               //是' ',结束符'\0'
            ans[r][h] = '\0';
            r++;h = 0;
        }
    }
   
    for(int i = r;i >= 0;i--){
        printf("%s",ans[i]);
        if(i>0) printf(" ");
    }
    printf("\n");
    return 0;
}

 

posted @ 2019-11-05 20:21  炳文  阅读(254)  评论(0)    收藏  举报