统计数字位数,逆序、顺序输出整数的每一位

统计数字位数:

输入数字          丢弃位数     余下数字       丢弃个位数字

1234                      个位          123               n/=10

123                         十位          12            

12                           百位           1       

1                            千位            0

#define  _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
int  main()
{
	long long  n;
	long  long  m;
	scanf("%lld", &n);
	m = n;
	int  count = 0;
	while (n != 0)
	{
		count++;
		n /= 10;//丢弃个位数字
	}
	if (m ==0)//考虑n为0的情况
		count = 1;
	printf("%lld是个%d位数字\n", m, count);
	return   0;
}

逆序输出整数的每一位

输入数字       丢弃位数             得到个位     丢弃个位

1234                4                        n%10              n/=10

123                  3                      

12                    2                       

1                      1

#define  _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
int  main()
{
	long  long  n;
	scanf("%lld", &n);
	if(n<0)
	{
		printf("-");
		n = -n;
	}
	while (n != 0)
	{
		printf("%d",n%10);//得到个位数字并且输出(逆序)
		n /= 10;//丢弃个位
	}
	return  0;
}

顺序输出整数的每一位

输入数字             丢弃位数               余下数字             得到最高位               丢弃最高位

12345                        1                        2345                   n/10000                    n%=10000

2345                          2                        345                    n/1000                        n%=1000

345                            3                          45                     n/100                          n%=100

45                              4                          5                       n/10                            n%=10

5                                5                           0                       n/1                              n%=1

      

#define  _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
int  main()
{
	long long  n;
	long long  m;
	scanf("%lld", &n);
	m = n;
	int  count = 0;
	while (n != 0)
	{
		count++;
		n /= 10;
	}
	n = m;
	int  power = pow(10, count - 1);//得到10的倍数
	while (n != 0)
	{
		printf("%lld", n / power);
		n %= power;//丢掉最高位
		power /= 10;
	}
	return  0;
}
//运用递归
void  Show(int  n)
{
if(n<10)
printf("%d",n);
else
{
Show(n/10);
printf("%d",n%10);
}
}
int  main()
{
Show(123456);
return  0;

上一篇:判断一个整数是否为素数while语句


下一篇:21天好习惯第一期—13