对一个数如何得出它是几位数并求出其个位、十位、百位、千位…
给一个不多于5位的正整数,要求:
1.求出它是几位数;
2.分别输出每一位数字;
3.按逆序输出各位数字;
代码如下
#include <stdio.h>
#include <math.h>
int main()
{
int n;
int i;
int j=0;
int k;
int count = 0; //计数
printf("请输入不多于五位的正整数:");
scanf("%d",&n); //输入正整数
int m=n;
//逆序输出
printf("逆序输出:");
for(i=1;i<=5;i++)
{
j=n%10; //得尾数
n/=10; //去尾数
count++;
printf("%d",j);
if(n==0)
{
break;
}
}
printf("\n");
printf("位数为%d\n",count); //输出位数
//顺序输出
printf("顺序输出:");
for(i;i>=1;i--)
{
k=m/(int)pow((float)10,(float)count-1); //得首位
m%=(int)pow((float)10,(float)count-1);
count--;
printf("%d",k);
}
printf("\n");
return 0;
}
答案
请输入不多于五位的正整数:12345
逆序输出:54321
位数为5
顺序输出:12345
请按任意键继续. . .