如果是最後幾個直行的字串已經全印出來了,那就不要再印空白了,直接換行
以下我的程式碼:
#include<iostream> #include<string> using namespace std; int main(){ string str[101]; int str_num = 0; int len_max = 0; while(getline(cin, str[str_num]) && str[str_num] != ""){ if(len_max < str[str_num].length()) len_max = str[str_num].length(); ++str_num; } for(int i = 0; i < len_max; ++i){ int fuck = 0; // 最尾有幾直行已經不用再印出來 for(int j = 0; j < str_num; ++j){ if(str[j].length()-1 < i) ++fuck; else break; } for(int j = str_num-1; j >= fuck; --j){ if(str[j].length()-1 < i) cout << " "; else cout << str[j][i]; } cout << endl; } return 0; }