首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> 更多程式語言 >> 程式設計綜合問答

C++ 大整數加法鏈表實現:修改輸入格式支持分行輸入兩數

     編輯:程式設計綜合問答

原代碼問題

原程序要求單行輸入 整數1;整數2(如 1,2345,6789;9,8765,4321),用戶希望改為分兩行輸入。

修改方案

保持 Creat(string) 接口不變,在 main() 中將兩行拼接為帶分號的單字符串傳入:

int main() {
    cout << "* 任意長整數的加法 *\n";
    cout << "* 注意:輸入時每四位用逗號隔開 *\n\n";
    
    string ch1, ch2, ch3;
    cout << "請輸入整數1:\n";
    cin >> ch1;
    cout << "請輸入整數2:\n";
    cin >> ch2;
    
    ch3 = ch1 + ";" + ch2; // 拼接為原格式
    
    LinkList List;
    List.Creat(ch3); // 復用原解析邏輯
    List.Add();
    cout << "兩整數的和為:";
    List.Display();
    return 0;
}

關鍵點

  • cin >> ch1 以空白符分隔,適合無空格的數字串。
  • 若輸入可能含空格,改用 getline(cin, ch1) 並去除換行符。
  • 原 Creat 解析邏輯依賴 ; 分割兩數,, 分割 4 位組,拼接後完全兼容。
  • 建議添加輸入驗證:檢查是否只含數字、逗號、可選負號。

代碼結構建議

長遠看,可將 Creat 拆分為 Creat(string num1, string num2) 雙參數版本,內部調用私有 ParseNumber(string),解耦輸入格式與解析邏輯。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved