資料可分為三類,分別為名字、薪水、獎金。雖然後兩者實際上為數字,不過直接當字串處理比較方便。
在使用迴圈讀取資料時,就分別用三個變數紀錄最長長度。
話說同學用vector,知道我直接開三個長度1000的array吐槽說解法很暴力XD
字串固定長度使用: setw(n)
數字設定精度使用:fixed << setprecision(n) << string
程式碼:
#include <iostream> #include <iomanip> #include <string> using namespace std; int main() { int n; string names[1000], salary[1000], award[1000]; while (cin >> n) { int nameLength = 0, salaryLength = 0, awardLength = 0; for (int i = 0; i < n; i++) { cin >> names[i] >> salary[i] >> award[i]; if (names[i].size() > nameLength) nameLength = names[i].size(); if (salary[i].size() > salaryLength) salaryLength = salary[i].size(); if (award[i].size() > awardLength) awardLength = award[i].size(); } for (int i = 0; i < n; i++) { cout << setw(nameLength) << names[i] << "| " << setw(salaryLength) << salary[i] << "| " << setw(awardLength) << award[i] << endl; } } return 0; }
沒有留言:
張貼留言