统计一个整数数字位数,逆序、正序输出

“#List item1、给一个不多余5位的正整数,要求”
“##//(1)、求出他是几位数”
“###//(2)、分别输入每一位数字”
“####//(3)、按逆序输出各位数字,例如原数是321,应输出123”
“#####//(4)、顺序输出”

#include<stdio.h>
int Count(int n)//定义一个累加器
{
if(n ==0)
{
return 1;
}
int tmp = 0;

while(n != 0)
{
	tmp++;
	n /=10;
}

return tmp;
}

//123456->6 5 4 3 2 1
void PrintReverse(int n)//逆序输出

{
while(n != 0)
{
printf("%d “,n%10);
n /= 10;
}
printf(”\n");
}
void PrintOrder(int n)
{
int c = Count(n);//

int power = 1;
for(int i=0;i<c-1;i++)//3->100
{
	power *= 10;
}

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

}

void Fun(int a)
{
a = 0;
printf(“Fun a=%d\n”,a);//0
}

int main()
{
PrintOrder(123456789);//顺序输出
PrintReverse(123456789);//逆序输出
printf("%d\n",Count(123456789));//输出位数
printf("%d\n",Count(1));
printf("%d\n",Count(0));

return 0;

}

猜你喜欢

转载自blog.csdn.net/weixin_43407577/article/details/83094976