1、数字的位数计算
若想对数字的位数进行计算,我们应学会两种方法就是“丢个位”和“丢高位”,
“丢个位”:对n进行除以10操作,并将其赋值给下一次除以10操作的n,每进行一次操作,计数器加1,直至n为0.统计输出计数器的个数为这个数字的位数
eg : 对123进行求位数计算则先将123/10=12,12/10=1,1/10=0,即n=3;
“丢高位”: 对n进行取余操作 ,计数器加1,但每次取余的除数不同,当n=0时 统计计数器个数就是这个位的位数
eg: 对123进行求位数计算,则先将123%100=23,23%10=3,3%10=0,即该位数为3//丢个位求法 int Figure(int n) { int count=0; //记count为n的位数 do{ count++; n/=10; }while(n!=0); return count; }
2、逆序输出数字n的每位的数字
可以对其进行对n的取余来计算void PrintReverse(int n) { //if(n < 0)//-1 //{ // printf("-"); // n = -n;//1 //} do { printf("%d ",n%10); n /= 10; }while(n != 0); printf("\n"); } }
3、顺序输出数字n的每位的数字 要将一个数字的每个位上的数字正序输出,首先要获得该数字的位数,接下来用除法获取最高位,最后利用除法取商来输出。
void PrintOrder(int n) //n=1234 { //int Figure(int n) int count = Figure(n); int power = 1; for(int i=0;i<count-1;i++) //count=4 { power *= 10; } do { printf("%d ",n/power); n %= power; power /= 10; }while(n != 0); printf("\n"); }
对于一个跨专业的初学者来说 真的觉得很难 哈哈 ~~!
不过还是分享一下~~!