天天看點

C語言參考程式—無符号一位整數的四則運算

題目:輸入一個無符号的一位整數的四則運算表達式,輸出其結果。例如輸入:1+3*6-2,則輸出:17

分析:因為不涉及到括号,隻是簡單的四則運算,我的想法是如果有乘除法先計算,沒有的話就按照加減法從左到右的順序進行計算。在開始的時候,首先檢查是否有乘除法運算符,有的話就取出前後兩個操作數進行計算,将結果儲存起來。沒有的話就将加減運算符先存起來。

主要過程:

1、輸入的是一個四則運算的表達式,在計算機中按照字元串的形式存儲。資料和運算符需要分開處理。

2、引入一個整型的數組,其大小為字元串長度加一,加一是為了友善整型數組判斷結束。

3、對表達式字元串循環進行字元判斷,如果是數字,則将數組存入引入的整型數組,如果不是則分兩種情況:(1)是乘法或者是除法運算符,那就将整型數組中目前的最新資料取出,将表達式字元串目前位置的下一個位置的數字取出,進行乘法計算,将計算所得的存放到整型數組目前位置。(即覆寫掉第一個操作數的位置)。(2)是加法或者是減法,分數組和運算符分别存入到整型數組中。

4、第3步完成以後,整型數組中存放的隻是關于加減法運算的表達式。此時就可以從到右進行運算。取出操作符,通過操作符的位置取出兩個操作數,保證每次計算後的結果存放到整型數組的第一個位置處。整個計算結果後,整型數組第一個位置是最終的計算結果。

完整的c語言程式如下所示:

C語言參考程式—無符号一位整數的四則運算
C語言參考程式—無符号一位整數的四則運算

程式測試結果如下:

C語言參考程式—無符号一位整數的四則運算

繼續閱讀