给定一个整数:求它是几位数;并顺序和逆序输出它的每一位数

1,求几位数

#include 

int Getfigures(int n)        //统计整数n的位数

{                                                   
    int count=0;
    do
    {
        count++;
        n/=10;
    }while(n!=0);

    return count;
 }

 /* int Getfigures(int n)   //若要用此函数,则对0求其位数会出错,可加if-else语  

句补缺。此方法采用while()语句,上面采用do-while() 语句,这就体现了while()语句

和do-while() 语句的区别,事实证明二者只在0和1上有区别。

{ 
    int count=0;           
    while(n!=0)
    {  
        count++;    
        n/=10;
    }
    return count;
}
*/

顺序输出每位数

void PrintOrder(int n)     //顺序输出各个位上的数字

{
     int count;                                 
     count=Getfigures(n);
     int power=1;
     for(int i=0;i

1234/1000 -> 1 1234%1000=234
234/100 -> 2 234%100=34
34/10 -> 3 34%10=3
4 /1 -> 0 4%1=0
每次输出高位数字后丢弃高位(用‘/’实现),n每次变为丢弃高位后的数字(用‘%’实现)

逆序输出每位数

void PrintReserve(int n)     //逆序输出各个位上的数字

{
    do
    {
        printf("%d",n%10);
        n/=10;
    }while(n!=0);

    printf("\n");
}

总代码

#include
#include
void Fun(int n)
{
	int i=0;
	int t=n;
	int m=n;
	do
	{
		i++;
		n/=10;
	}while(n!=0);
	printf("%d是%d位数\n",m,i);
	printf("正序输出:\n");
	int s=pow(10.0,i-1);
	for(int j=0;j

你可能感兴趣的:(给定一个整数:求它是几位数;并顺序和逆序输出它的每一位数)