<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                ??碼云GVP開源項目 12k star Uniapp+ElementUI 功能強大 支持多語言、二開方便! 廣告
                對于long long類型也存放不下的超長整數,可以使用字符串模擬的辦法來對其進行運算的模擬。此處僅做加法的示范,其他運算思想類似。 每四位視為一個整數,進位等情況對下一次的計算考慮影響。 ~~~ #include<iostream> using namespace std; #define MAX_LEN 50 int nNumA[MAX_LEN]; int nLenA = 0; int nNumB[MAX_LEN]; int nLenB = 0; int nResult[2*MAX_LEN]; int nLenR = 0; void CharToInt(char *szSource, int *nDes, int *Len) { int j = 0; int nDesLoc = 0; int nTotalNum = 0; int thisNum = 0; //當前char的值 int nHead = strlen(szSource) % 4; if (nHead != 0) { for (int k = 0; k< nHead; k++) { thisNum = (int)(szSource[k] - '0') + 0; nTotalNum = nTotalNum*10 + thisNum; j++; } nDes[nDesLoc] = nTotalNum; //數組開頭不足四位 nTotalNum = 0; j = 0; nDesLoc++; } for (int i= nHead; i<strlen(szSource); i++) { if (j == 4) { nDes[nDesLoc] = nTotalNum; //每一個int數組為上存儲四個數字 nTotalNum = 0; j = 0; nDesLoc++; } thisNum = (int)(szSource[i] - '0') + 0; nTotalNum = nTotalNum*10 + thisNum; j++; } if (nTotalNum != 0) { nDes[nDesLoc] = nTotalNum; nTotalNum = 0; j = 0; nDesLoc++; } *Len = nDesLoc; cout<<"長度為"<<nDesLoc<<endl; for (int j = 0; j< nDesLoc; j++) { cout<<nDes[j]<<" "; } cout<<endl; } void LenAdd() { int ALen = nLenA; int BLen = nLenB; int CStart = 0; int nFlag = 0; while (ALen != 0 && BLen != 0) { nResult[CStart] = (nNumA[ALen-1] + nNumB[BLen-1] + nFlag) % 9999; nFlag = (nNumA[ALen-1] + nNumB[BLen-1] + nFlag) / 9999; CStart++; ALen--; BLen--; } while (ALen > 0) { nResult[CStart] = (nNumA[ALen-1] + nFlag) % 9999; nFlag = (nNumA[ALen-1] + nFlag) / 9999; CStart++; ALen--; } while (BLen > 0) { nResult[CStart] = (nNumB[BLen-1] + nFlag) % 9999; nFlag = (nNumB[BLen-1] + nFlag) / 9999; CStart++; BLen--; } nLenR = CStart; cout<<"相加結果為:"<<endl; for (int i = CStart-1; i >-1 ; i--) { cout<<nResult[i]<<" "; } cout<<endl; } int main() { char szInput[100]; cout<<"輸入第一個操作數"<<endl; cin>>szInput; CharToInt(szInput, nNumA, &nLenA); cout<<"輸入第二個操作數"<<endl; cin>>szInput; CharToInt(szInput,nNumB, &nLenB); LenAdd(); system("pause"); } ~~~ ![](https://box.kancloud.cn/2016-02-18_56c5c49be9e24.jpg)
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看