[PAT 1009]说反话

一、CODE

#include <stdio.h>
#include <string.h>
#include <fstream>
#include <iostream>
using namespace std;
#define maxn 100

void back(char str[]) {
    char word[maxn][maxn];
    int len = strlen(str), r = 0, h = 0;
    for (int i = 0; i < len; i++) {
        if(str[i] != ' ') {
            word[r][h++] = str[i];
        } else {
            word[r][h] = '\0';
            r++;
            h = 0;
        }
    }

    for (int i = r; i >= 0; i--) {
        printf("%s", word[i]);
        if(i != 0) printf(" ");
    }
    printf("\n");
    return;
}

int main() {
    char str[maxn];
    ifstream fin;
    fin.open("/home/zzz/input.txt");
    while(fin.getline(str,maxn)) {
        back(str);
    }
    fin.close();

//    cin.getline(str, maxn);
//    back(str);
    return 0;
}

二、TEST

2019-10-12 20-16-02 的屏幕截图

三、NOTE

3.1 不要再使用gets()这个函数啦!!!!ios

这个函数会把换行符读进来,并且在c++11中已经不建议使用,c++14彻底丢弃c++

可使用cin.getline(),并且这个函数还不会把回车符吃进去函数

3.2 c++文件读写spa

ifstream fin;
    fin.open("/home/zzz/input.txt");
    while(fin.getline(str,maxn)) {
        back(str);
    }
    fin.close();

3.3 "边读边增加"3d

word[r][h++] = str[i];
相关文章
相关标签/搜索