要求:
程序每次讀入一個正3位數,然后輸出按位逆序的數字。注意:當輸入的數字含有結尾的0時,輸出不應帶有前導的0。比如輸入700,輸出應該是7。
正確思路:
拆分字符串后拼接成整數
1 #include <stdio.h> 2 int main() 3 { 4 int x; 5 scanf("%d",&x); 6 x=x%10*100+x/10%10*10+x/100; 7 printf("%d",x); 8 return 0; 9 }
我的程序:
1 #include <stdio.h> 2 int main(){ 3 int in,a[2]; 4 scanf("%d",&in); 5 6 // 獲取各位數字 7 a[0] = in%10; 8 a[1] = in/10%10; 9 a[2] = in/100; 10 11 // 從第一個不是0的數開始輸出 12 int t = 0; 13 for(int i = 0 ; i < 3 ; i++ ){ 14 if(a[i] != 0 ){ 15 t = i; 16 break; 17 } 18 } 19 for(int j = t ; j < 3 ; j++ ){ 20 printf("%d",a[j]); 21 } 22 return 0; 23 }
不但思路復雜,結果還是錯的(沒有考慮都為0的情況)