請問C語言如何實現輸入一個整數,將各位數顛倒,如輸入12345,輸出54321;輸入-4567,輸出-7654?
請問C語言如何實現輸入一個整數,將各位數顛倒,如輸入12345,輸出54321;輸入-4567,輸出-7654?
c;int swapInt(int p) {。int num=0。while( p。= 0 ) {。num = num*10+p%10。p /= 10。};if (p<;0) {。return num*(-1)。} else return num。};這個函數首先初始化一個變量`num`為0,然后通過循環將輸入的整數`p`的每一位數字依次乘以10并加上當前位的值,最終構建出顛倒后的數字。如果輸入的整數`p`為負數,則在返回結果時乘以-1,確保返回值保持負號。例如,輸入750時,循環將依次處理7、5、0,最終構建出數字057,即75。而對于-4567,函數將先處理-4567的每一位,然后返回-7654。
導讀c;int swapInt(int p) {。int num=0。while( p。= 0 ) {。num = num*10+p%10。p /= 10。};if (p<;0) {。return num*(-1)。} else return num。};這個函數首先初始化一個變量`num`為0,然后通過循環將輸入的整數`p`的每一位數字依次乘以10并加上當前位的值,最終構建出顛倒后的數字。如果輸入的整數`p`為負數,則在返回結果時乘以-1,確保返回值保持負號。例如,輸入750時,循環將依次處理7、5、0,最終構建出數字057,即75。而對于-4567,函數將先處理-4567的每一位,然后返回-7654。
![](https://img.51dongshi.com/20250105/wz/18526804552.jpg)
在C語言中實現將輸入整數的各位數顛倒,可以通過循環逐位處理數字來完成。以下是一個簡單的函數示例,用于實現這一功能:cint swapInt(int p) {int num=0;while( p != 0 ) {num = num*10+p%10;p /= 10;}if (p<0) {return num*(-1);} else return num;}這個函數首先初始化一個變量`num`為0,然后通過循環將輸入的整數`p`的每一位數字依次乘以10并加上當前位的值,最終構建出顛倒后的數字。如果輸入的整數`p`為負數,則在返回結果時乘以-1,確保返回值保持負號。例如,輸入750時,循環將依次處理7、5、0,最終構建出數字057,即75。而對于-4567,函數將先處理-4567的每一位,然后返回-7654。值得注意的是,在實際應用中,還需要考慮輸入為0或負數的情況,以確保程序的健壯性和正確性。此外,對于特定的邊界情況,如輸入為750,該函數能夠正確處理并輸出75,而不是無限循環或產生錯誤結果。通過這種方式,我們可以輕松地實現將輸入整數的各位數顛倒的功能,而無需擔心符號問題或無效輸入。
請問C語言如何實現輸入一個整數,將各位數顛倒,如輸入12345,輸出54321;輸入-4567,輸出-7654?
c;int swapInt(int p) {。int num=0。while( p。= 0 ) {。num = num*10+p%10。p /= 10。};if (p<;0) {。return num*(-1)。} else return num。};這個函數首先初始化一個變量`num`為0,然后通過循環將輸入的整數`p`的每一位數字依次乘以10并加上當前位的值,最終構建出顛倒后的數字。如果輸入的整數`p`為負數,則在返回結果時乘以-1,確保返回值保持負號。例如,輸入750時,循環將依次處理7、5、0,最終構建出數字057,即75。而對于-4567,函數將先處理-4567的每一位,然后返回-7654。
為你推薦