任给一个整数(1)输出它是几位数(2)正序输出各位数字(3)逆序输出各位数字
程序员文章站
2022-03-21 22:21:31
...
任给一个整数(1)输出它是几位数(2)正序输出各位数字(3)逆序输出各位数字
1、一个数对10整除,相当于丢个位(丢弃最后一位)
1234/10=123; 123/10=12 ;12/10=1;
设置一个计数变量,每整除一次,计数变量+1;直到整数为0.
(1)求出它是几位数
#include<stdio.h>
int Count(int n)
{
int tmp = 0;
if(n == 0)
{
return 1;
}
while(n != 0)
{
tmp++;
n/=10;
}
printf("%d\n",tmp);
return tmp;
}
int main()
{
Count();
return 0;
}
2、正序输出各位数字:得到高位,丢弃高位。
#include<stdio.h>
#include<math.h>
void PrintOrder(long long n)
{
if(n<0)
{
printf("-");
n=-n;
}
if(n == 0)
{
printf("0\n");
return ;//退出本函数
}
int tmp = Count(n);//位数
int power = (int)pow(10.0,tmp-1);
while(n != 0)
{
printf("%d\n",n/power);//得到高位
n %= power;丢弃高位
power/=10;
}
}
int main()
{
PrintOrder();
return 0;
}
3、逆序输出各位数字:得到个位,再丢弃个位
#include<stdio.h>
int Count(int n)
{
do
{
printf("%d\n",n%10);//得到个位
n/=10;//丢弃个位
}
while(n != 0);
printf("\n");
return 0;
}
int main()
{
Count();
return 0;
}
推荐阅读