欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

任给一个整数(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;
}

相关标签: C语言