标签:style blog color io sp div on log bs
1 #include <stdio.h> 2 #include <math.h> 3 4 /* 5 判断一个正整数的位数,并按正序,逆序输出他们的位. 6 */ 7 8 int 9 invert(int); 10 11 void 12 order(int, int); 13 14 int 15 main(void) { 16 int n = 56789; 17 printf("original:%d\n", n); 18 int bitCont = invert(n); 19 printf("\nbits: %d\n", bitCont); 20 order(n, bitCont); 21 return 0; 22 } 23 24 //逆序输出每一位并记录位数. 25 int 26 invert(int n) { 27 int bitCount = 0; //记录位数. 28 do 29 { 30 ++bitCount; 31 printf("%d ", n % 10); //逆序输出每一位. 32 n /= 10; 33 } while (n); //终止条件是"n为0". 34 return bitCount; 35 } 36 37 //正序输出每一位. 38 void 39 order(int n, int bitCount) { 40 int tmp = 0; //存储即将减去的级别,如当n为"1234"时,存储"1000";当n为"234"时,存储"100". 41 int h = 0; //存储最高位的位. 42 while(n) { 43 tmp = (int)pow((double)10, --bitCount); 44 h = n / tmp; 45 printf("%d ", h); 46 n -= h * tmp; 47 } 48 }
output:
original:56789
9 8 7 6 5
bits: 5
5 6 7 8 9 请按任意键继续. . .
标签:style blog color io sp div on log bs
原文地址:http://www.cnblogs.com/listened/p/4032619.html