#40852: 解答 c++


hs210023@students.hshs.chc.edu ... (天底下最帥的那個男人)

學校 : 不指定學校
編號 : 274462
來源 : [39.9.190.55]
最後登入時間 :
2024-06-17 21:52:54
a149. 乘乘樂 | From: [27.247.62.93] | 發表日期 : 2024-06-15 21:57

讓我們來撰寫一個程式,來計算每個數字的位數乘積。以下是符合你需求的 C++ 程式碼:
 
#include <iostream>
using namespace std;

int main() {
    int T;
    cin >> T;  // 讀取測試資料組數
    while (T--) {
        unsigned int n;
        cin >> n;  // 讀取數字 n
        int product = 1;
        
        if (n == 0) {
            product = 0;  // 處理 n 為 0 的特殊情況
        } else {
            while (n > 0) {
                product *= (n % 10);  // 取出每一位數字並相乘
                n /= 10;  // 去掉最後一位數字
            }
        }
        
        cout << product << endl;  // 輸出結果
    }
    return 0;
}

 

說明

 

  1. 讀取測試資料組數
    • 使用 cin >> T 來讀取輸入的測試資料組數。
  2. 處理每組測試資料
    • 使用 while (T--) 來處理每組測試資料。
    • 讀取數字 n
  3. 計算每個位數的乘積
    • 初始化 product 為 1。
    • 如果 n 為 0,則將 product 設為 0。
    • 否則,使用 while (n > 0) 循環來計算每個位數的乘積。
      • 使用 n % 10 來取得每一位數字。
      • 使用 n /= 10 來去掉最後一位數字。
  4. 輸出結果
    • 使用 cout 輸出每組測試資料的結果。

 

這樣的程式碼能夠正確地計算每個數字的位數乘積,並且能夠處理範圍內的所有輸入。希望這個解決方案對你有幫助!如果有任何問題或需要進一步的解釋,隨時告訴我!
 
ZeroJudge Forum