#include<stdio.h>
#include<math.h>
int digits(int n)//(1)求这个数是几位数
{
int i=0;
if(n==0)
{
i=1;
return i;
}
while (n!=0)
{
n/=10;
i++;
}
return i;
}
void PrintFigures(int n)//(2)分别输出每一个数字
{
printf("这个数的顺序数字是:");
int fig=digits(n);
int power=pow(10.0,fig-1);
if(n==0)
{
printf("%d",n);
printf("\n");
return;
}
if(n<0)
{
printf("- ");
n=-n;
}//如果n是一个负数,先输出'-'号,再输出数字
while(n!=0)
{
printf("%d ",n/power);
n%=power;
power/=10;
}
printf("\n");
}
void PrintReverse(int n)//(3)逆序输出各位数字
{
printf("这个数的逆序数字为:");
if(n==0)
{
printf("%d",n);
printf("\n");
return;
}
if(n<0)
{
printf("- ");
n=-n;
}
while(n!=0)
{
printf("%d ",n%10);
n/=10;
}
printf("\n");
}
int main()
{
int n;
printf("请输入一个整数:");
scanf("%d",&n);
printf("这个数是%d位数\n",digits(n));
PrintFigures(n);
PrintReverse(n);
return 0;
}
给一个整数,要求:(1)求它是几位数 ;(2)分别输出每一位数字;(3)按逆序输出各位数字,例如原数123,应输出321。
最新推荐文章于 2024-02-28 12:35:52 发布