ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

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

2021-10-24 11:35:15  阅读:232  来源: 互联网

标签:count 10 丢弃 int n% long 位数 逆序 统计数字


统计数字位数:

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

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;

标签:count,10,丢弃,int,n%,long,位数,逆序,统计数字
来源: https://blog.csdn.net/m0_56511764/article/details/120930457

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有