【7】有關於丟取數字(各十百千位)的運算
阿新 • • 發佈:2018-12-31
對一個數字求取幾位數字運算:對10進行除運算/*給出一個不多於五位的正整數,要求: 1.求出它是幾位數 2.分別輸出每一位數字 3.按逆序輸出個位數字,例如原數為321,應該要輸出123 */ //wang //7.13 #include<stdio.h> //1.求出其是幾位數 int GetFigure(int n) { int count = 0; //方法1 do { n /= 10; count++; } while( n != 0); return count; //方法2 if( n == 0) {count = 1;} while( n != 0) { n /= 10; count++; } return count; } //2.分別輸出其每一位數字 void PrintOrder(int n) { int m = GetFigure(n); int power = 1; for ( int i = 0; i < m - 1; i++) { power *= 10; } do { printf("%d",n / power); n %= power; power /= 10; }while ( n != 0 ); printf("\n"); } //3.逆序輸出個位數字 void PrintReverse(int n) { do { printf("%d", n % 10); n /= 10; }while( n != 0); printf("\n"); } int main() { printf("%d\n",GetFigure(12345)); // printf("%d\n",GetFigure(-12345));//測試通過 // printf("%d\n",GetFigure(123456789));//測試通過 // printf("%d\n",GetFigure(0)); //測試通過 PrintOrder(12345); // PrintOrder(0); PrintReverse(12345); return 0; }