看板 C_and_CPP 關於我們 聯絡資訊
※ 引述《lianchiamin (lianchiamin)》之銘言: : 這是我跟我同學想到的問題 : 現在有想到用do while寫 : 但卻不知道如何用if來寫 記得國小的墊板嗎? #include <iomanip> enum Major {row, col}; void multiple_table(enum Major m, int fromRow, int fromCol, int toRow, int toCol); int main(int argc, char *argv[]) { multiple_table(col, 2, 1, 5, 9); cout << endl; multiple_table(col, 6, 1, 9, 9); system("pause"); return EXIT_SUCCESS; } void multiple_table(enum Major m, int fromRow, int fromCol, int toRow, int toCol) { if (m == col) { if (fromCol >= toCol) { if (fromRow >= toRow) { cout << fromRow << " * " << fromCol << " = " << setw(2) << (fromRow * fromCol) << endl; return; } else { cout << fromRow << " * " << fromCol << " = " << setw(2) << (fromRow * fromCol) << " "; multiple_table(col, fromRow+1, fromCol, toRow, toCol); } } else { multiple_table(col, fromRow, fromCol, toRow, fromCol); multiple_table(col, fromRow, fromCol+1, toRow, toCol); } } else /* if (m == row) */ { if (fromRow >= toRow) { if (fromCol >= toCol) { cout << fromRow << " * " << fromCol << " = " << setw(2) << (fromRow * fromCol) << endl; return; } else { cout << fromRow << " * " << fromCol << " = " << setw(2) << (fromRow * fromCol) << " "; multiple_table(row, fromRow, fromCol+1, toRow, toCol); } } else { multiple_table(row, fromRow, fromCol, fromRow, toCol); multiple_table(row, fromRow+1, fromCol, toRow, toCol); } } } 輸出為: ---------------------------------------------- 2 * 1 = 2 3 * 1 = 3 4 * 1 = 4 5 * 1 = 5 2 * 2 = 4 3 * 2 = 6 4 * 2 = 8 5 * 2 = 10 2 * 3 = 6 3 * 3 = 9 4 * 3 = 12 5 * 3 = 15 2 * 4 = 8 3 * 4 = 12 4 * 4 = 16 5 * 4 = 20 2 * 5 = 10 3 * 5 = 15 4 * 5 = 20 5 * 5 = 25 2 * 6 = 12 3 * 6 = 18 4 * 6 = 24 5 * 6 = 30 2 * 7 = 14 3 * 7 = 21 4 * 7 = 28 5 * 7 = 35 2 * 8 = 16 3 * 8 = 24 4 * 8 = 32 5 * 8 = 40 2 * 9 = 18 3 * 9 = 27 4 * 9 = 36 5 * 9 = 45 6 * 1 = 6 7 * 1 = 7 8 * 1 = 8 9 * 1 = 9 6 * 2 = 12 7 * 2 = 14 8 * 2 = 16 9 * 2 = 18 6 * 3 = 18 7 * 3 = 21 8 * 3 = 24 9 * 3 = 27 6 * 4 = 24 7 * 4 = 28 8 * 4 = 32 9 * 4 = 36 6 * 5 = 30 7 * 5 = 35 8 * 5 = 40 9 * 5 = 45 6 * 6 = 36 7 * 6 = 42 8 * 6 = 48 9 * 6 = 54 6 * 7 = 42 7 * 7 = 49 8 * 7 = 56 9 * 7 = 63 6 * 8 = 48 7 * 8 = 56 8 * 8 = 64 9 * 8 = 72 6 * 9 = 54 7 * 9 = 63 8 * 9 = 72 9 * 9 = 81 請按任意鍵繼續 . . . ---------------------------------------------- -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 61.231.67.72
sunneo:我只記得暗黑的電板 02/02 23:17
VictorTom:cool....XD 02/02 23:58