PAT B1009 说反话

这道题,思路上没有什么好说的,常规思路,里面有几个小点需要注意,代码加注释了。

#include 
#include 
int main(){
    char wordList[90][90];//二维数组存单词
    char stringList[90];//一位数组存字符串
    fgets(stringList, 90, stdin);//PAT中不让使用gets
    int num = 0, j = 0;//num记录单词的个数
    long long length = strlen(stringList);
    for(int i = 0; i < length; i++){
        if(stringList[i]==' '){
            wordList[num][j] = '\0';//为每个单词添加结尾
            j = 0;
            num++;
        }else{
            if(stringList[i] == '\n'){//最后一个单词的换行需要特殊处理
                wordList[num][j] = '\0';
                break;
            }else{
                wordList[num][j++] = stringList[i];
            }
        }
    }
    
    for(int i = num; i >= 0; i--){
        printf("%s", wordList[i]);
        if(i){
            printf(" ");
        }
    }
    printf("\n");
    return 0;
}

你可能感兴趣的:(PAT B1009 说反话)