當前位置:
首頁 >
zzuli oj 1167逆转数(指针专题)
發布時間:2025/5/22
39
豆豆
生活随笔
收集整理的這篇文章主要介紹了
zzuli oj 1167逆转数(指针专题)
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
Description
任意給你一個整數,這個數可能很大(最長不超過100位),你能求出它的逆轉數嗎??
逆轉數定義如下:?
1.一個末尾沒有0的整數,它的逆轉數就是各位數字逆序輸出;?
2.一個負數的逆轉數仍是負數;?
3.一個末尾有0的整數,它的逆轉數如同下例:?
reverse (1200) = 2100?
reverse (-56) = -65?
要求定義并使用如下函數:?
void reverse(char *str)?
{?
//函數求出str的逆轉數并存入str。?
}?
Input
輸入一個長整數str,不超過100位,輸入的整數不含前導0。
Output
輸出str的逆轉數。輸出占一行。
Sample Input
-123456789000Sample Output
-987654321000 1 #include <iostream> 2 #include <cstdio> 3 #include <algorithm> 4 #include <cstring> 5 using namespace std; 6 7 int main(int argc, char** argv) 8 { 9 char str[101]; 10 int i,flag=0,count=0; 11 gets(str); 12 /*輸出負號*/ 13 if(str[0]=='-') 14 printf("-"); 15 /*倒序輸出*/ 16 for(i=strlen(str)-1;i>=1;i--) 17 { 18 if(str[i]=='0'&&flag==0) 19 { 20 count++;//用來計數0的個數 21 continue;//跳過 22 } 23 if(str[i]!='0'||flag!=0) 24 { 25 printf("%c",str[i]); 26 flag=1;//標記尾數是否為0 27 } 28 29 } 30 if(str[0]!='-') 31 printf("%c",str[0]);//最后輸出第一個數 32 /*輸出前面跳過的0*/ 33 for(i=1;i<=count;i++) 34 printf("0"); 35 return 0; 36 }?
轉載于:https://www.cnblogs.com/millerchan/p/5059783.html
總結
以上是生活随笔為你收集整理的zzuli oj 1167逆转数(指针专题)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 老李分享:Web Services 组件
- 下一篇: 纯代码实现wordpress文章隐藏内容