C语⾔处理数字(判断数字的位数、顺序输出数字、逆序输出
数字)
学习了处理数字的办法,如何判断⼀个数是⼏位数,如何将他顺序输出,如何将他逆序输出。在⽣活中,⽤处特别⼤。
1、判断数字位数。
⾸先,我们来看⼀下如何判断给出的数是⼏位数。次判断⽅法由两句核⼼语句组成:
intcount = 0;
while(n !=0)                                          //判断他是⼀个⾮零的数
{
count++;                                            //当他为⾮零数时,位数加⼀
n /=10;                                              //丢弃个位
}
⾸先判断数是否为零,若不为零,位数加⼀,再丢弃个位,直到数为零时,循环结束输出位数。
2、顺序输出这个数。
在顺序输出中,我们要调⽤判断位数的函数。我们还需要定义⼀个power数,⽤来保存10的次⽅数。⾸先调⽤它是⼀个⼏位数,再利⽤循环将power赋值成10的位数减⼀次⽅,⽤数除power,得到最⾼位,⽤数余power丢弃最⾼位,再将power除⼗去位,再进⾏循环。直到数为零,循环结束。
核⼼语句:
int power = 1;
for(int r = 1;r <= count-1;r++)
{
power*=10;
}
while(n!=0)
{
printf("%d",n/power);                        //得到最⾼位
n %=power;                                        //丢弃最⾼位
power/=10;
}
3、逆序输出这个数
相⽐顺序,逆序输出更加简单,⾸先判断他是否为零,再将它余⼗得出最⼩位,输出后再除⼗,丢弃最⼩位。
核⼼语句:
while(n != 0)
{
count= n%10;                        //得到最⼩位
printf("%d\n",count);                    //输出最⼩位
n /=10;                                //抛弃最⼩位
}
以下为源代码:
//判断⼀个数是⼏位数
#include<stdio.h>
int GetNumbers(int n)
{
int count =0;
while(n !=0)                                          //判断他是⼀个⾮零的数
{
count++;                                          //当他为⾮零数时,位数加⼀            n /=10;                                              //丢弃个位
}
returncount;
}
int main()
{
printf("此数字为%d位数\n",GetNumbers(57777));
printf("此数字为%d位数\n",GetNumbers(503768));
return 0;
}
//逆序输出⼀个数
#include<stdio.h>
int PrintReverse(int n)
{
int count =0;
while(n !=0)
{
count= n%10;                              //得到最⼩位
printf("%d\n",count);                  //输出最⼩位
n /=10;                                        //抛弃最⼩位
}
return 0;
}
int main()
{
PrintReverse(122562);
return 0;
}
//顺序输出⼀个数
#include<stdio.h>
int GetNumbers(int n)
{
int count =0;
while(n !=0)
{
count++;
n /=10;
}
returncount;
c语言如何去学}
int PrintOrder(int n)
{
int count =GetNumbers(n);
int power =1;
for(int r =1;r <= count-1;r++)
{
power*=10;
}
while(n!=0)
{
printf("%d",n/power);                          //得到最⾼位            n %=power;                                        //丢弃最⾼位            power/=10;
}
return 0;
}
int main()
{
PrintOrder(12345);
return 0;
}