華為機試題 一串正整數相加

2021-06-25 13:31:18 字數 574 閱讀 6932

題目:輸入一串正整數字元,各正整數之間用空格分開,只有數字字元和空格有效,其他字元均為無效;

輸入正整數個數不超過32個(即:正整數個數<=32)。

若出現無效字元,輸出error;若輸入正整數個數超過32個,輸出error。

若有效,則求出總和;

例子:輸入:12 a34   輸出:error

輸入:12 34    輸出:46

分析:先用getline將正行字串讀入(不包括末尾換行符『\n』),然後再逐個字元判斷是否有效,若有效則相加,若相加個數超出32個,則無效。

下列程式未考慮輸入字串位數太多導致相加和溢位的問題。

程式:

#include #include using namespace std;

int main()

else if(str[i]==' '||str[i]=='\0')

}else

}if(!invalid)

cout << result;

system("pause");//按任意鍵繼續...

return 0;

}

華為機試題 整數減法

include using namespace std 3 正數減法 問題描述 兩個任意長度的正數相減,這兩個正數可以帶小數點,也可以是整數,請輸出結果。輸入的字串中,不會出現除了數字與小數點以外的其它字元,不會出現多個小數點以及小數點在第乙個字元的位置等非法情況,所以考生的程式中無須考慮輸入的數值...

華為面試題之大整數相加

問題描述 在計算機中,由於處理器位寬限制,只能處理有限精度的十進位制整數加減法,比如在32位寬處理器計算機中,參與運算的運算元和結果必須在 231 231 1之間。如果需要進行更大範圍的十進位制整數加法,需要使用特殊的方式實現,比如使用字串儲存運算元和結果,採取逐位運算的方式。如下 98765432...

華為機試題練習(一)

1.寫出乙個程式,接受乙個由字母和數字組成的字串,和乙個字元,然後輸出輸入字串中含有該字元的個數。不區分大小寫。var str readline tolowercase var item readline tolowercase var count 0 for var i 0 i str.lengt...