PAT B1009 说反话 关于scanf和其返回值EOF的应用

//ac
//不太会,可能是split函数还是什么的,先用gets吗
//这一题恰恰用scanf()更加简洁。因为它直接默认以空格做分隔。注意使用EOF即可
#include<stdio.h>
#include<string.h>
//#define LOCAL
int main(){
    #ifdef LOCAL
    freopen("B1009data.in","r",stdin);
    freopen("B1009data.out","w",stdout);
    #endif
    //因为要存放许多字符串,所以仍然要使用二维字符型数组
    char str[90][90];//注意有可能是一个单词,这个单词长90,这个谁说得准呢,这样设置比较合适
    int num=0;
    while(scanf("%s",str[num])!=EOF){
        //学过这个scanf()返回值,要用起来啊,相信自己
        num++; //注意把自增写在这里就好了,不要钻牛角尖
    }
    //然后倒序输出
    for(int i=num-1;i>=0;i--){
        printf("%s",str[i]);
        if(i!=0) printf(" ");
        else printf("\n");
    }
     return 0;
} 


你可能感兴趣的:(C++,算法,pat)