给一个不多于5位的正整数,要求:1.求出它是几位数;2.分别输出每一位数字;3.按逆序输出各位数字,例如:原数321,应输出123。

给一个不多于5位的正整数,要求:1.求出它是几位数;2.分别输出每一位数字;3.按逆序输出各位数字,例如:原数321,应输出123。

给一个不多于5位的正整数,要求:
1.求出它是几位数;
2.分别输出每一位数字;
3.按逆序输出各位数字,例如:原数321,应输出123。

代码如下:

#include<stdio.h>
int  Digit(int n)//确定数字位数
{
    
    
	int j,y,x=0,k=1;
	j=n;//将输入的值用j保存,防止更改n的值
	if(n==0)
	{
    
    
		printf("0是1位数");//如果没有该步骤,n=0进入循环得到位数为0位数
	}
	do//循环:去掉输入数字的最后一位数
	{
    
    
		j/=10;
		x++;
	}while(j);
	return x;
}
void Reversedorder(int n)//逆序输出函数
{
    
    
		printf("逆序输出:\n");
	while(n!=0)
	{
    
    
		printf("%d\n",n%10);//通过求余输出最后一位数
		n/=10;//去掉最后一位数
	}
}
void order(int n)//顺序输出
{
    
    
		printf("正序输出:\n");
	while(n!=0)
	{
    
    
		printf("%d\n",n%10);
		n/=10;
	}
}
int main()
{
    
    
		printf("%d\n",Digit(53247));
		Reversedorder(53247);
		order(53247);
	return 0;
}

猜你喜欢

转载自blog.csdn.net/weixin_45726014/article/details/102464619