[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];
相關文章
相關標籤/搜索