输入一个整数。(1)求位数;(2)顺序输出每一位数字;(3)逆序输出每一位数字。
(1)求位数;
#include<stdio.h>
int main()
{
long long n;//需要统计的数字
int count = 0;//计数器
scanf("%lld",&n);
if (n == 0)
{
printf("1");
return 0;
}
while (n != 0)
{
count++;
n /= 10;
}
printf("%d\n",count);
return 0;
}
(2)顺序输出每一位数字;
#include <stdio.h>
#include<math.h>
int main()
{
long long n;
long long m;
int x;
scanf("%lld", &n);
m = n;
int i = 0;
for (i = 0; n != 0; i++)
{
n /= 10;
}//判断函数是几位数
int power = pow(10, i - 1);
if (m == 0)
{
printf("0");
}
for (; m != 0;)
{
printf("%d ", m / power);//运用整除的方法,将这个数的最高位输出。
m %= power;//将最高位丢弃,剩下的保存。
power /= 10;//由于最高位丢弃,所以对应的减少。
}
return 0;
}
(3)逆序输输出每一位数字。
#include <stdio.h>
int main()
{
long long n;
int a;
scanf("%lld", &n);
if (n < 0)//判断是否为负数
{
printf("-");
n = -n;
}
if (n == 0)//0
{
printf("0");
}
for (int i = 0; n != 0; i++)
{
a = n % 10;//对于这个数获取最后一位数;
n /= 10;//将最后一位数丢掉;
printf("% d", a);
}
return 0;
}