C語言 關於整型數字反轉的解算

2021-10-03 06:00:14 字數 648 閱讀 8354

前幾天遇到了整型數字反轉的問題,當初使用了n多個if-else,整整將**寫了到260多行,omg~~~,後來做了優化處理,大概不到30行,於是分享給大家看看。

給出乙個 32 位的有符號整數,你需要將這個整數中每位上的數字進行反轉。

示例 1:

輸入: 123

輸出: 321

示例 2:

輸入: -123

輸出: -321

示例 3:

輸入: 120

輸出: 21

#define max (2147483647)

#define min (-2147483648)

int reverse(long int x)

while (x != 0)

return state * m;

}

我們輸入了乙個符合範圍的數字,反轉之後,我們需要做乙個越界檢測,如果不做的話,最後輸出的結果是不符合反轉結果的。越界的意思是當這個數越界以後,會變成其他符合範圍的數,不再是我們給定的數。

所以在反轉之後,將得到的反轉倒推回去再與原來的某個數做比較,如果不相等的話,那麼就說明發生了越界,否則符合範圍之內。

關於《明解C語言》

不得不說,對於我這種笨人,這本書簡直就是神書。猶記得上學期在華班的時候,也是要上 資料結構 這門課。然鵝當時的我只學過python,對c語言的了解基本等於零。然鵝我發現了這本書,用了3個晚上把它看完。然後那學期資料結構就考了98分。然鵝這學期士諤也有資料結構啊,然鵝這學期的資料結構比華班的資料結構難...

C語言關於數字的經典問題

1.統計n是個幾位數字 演算法思想 每次丟棄個位數字,計數器 直到n為0 注意 丟棄個位 n 10 得到個位 n 10 int count long long n return tmp int main 測試用例,盡量詳細,printf d n count 123456789 printf d n ...

c 解算3 3矩陣的逆矩陣

用伴隨矩陣計算3行3列矩陣的逆矩陣 要求矩陣行列式不能為0 原理參考 矩陣子函式部分 double matrixinversion3 3 double a 3 3 主函式部分 include using namespace std double matrixinversion3 3 double a...