输入一个整型数,显示它的位数,并将其顺序输出,逆序输出

1、首先输入一个整型数字,显示他的位数
基本思想:对其进行整除10的运算
在这里插入图片描述
对其不断整除10,直到个位数时继续整除将会得到0,此时变会得到约束条件,具体操作如下:(只有函数本身,需要运行的可自己调用)

int Get_figure(int x)//获取输入数字位数函数
{
	int i = 0;
	while (x > 0)
	{
		x /= 10;//对x进行整除运算然后再赋值给x
		i++;
	}
	return i;

运行结果如下:
在这里插入图片描述
2、对输入的数字进行顺序输出
基本思想,例如12对其顺序输出为12,可以先对其进行整除10运算,得到最高位1,然后将最高位丢掉,再用2整除1得2;那这个过程如何进行呢,具体过程如下图,一看便知
在这里插入图片描述
这就需要用到上面的显示位数的函数了,具体操作如下:

void Get_order(int x)//将输入的数字顺序输出 
{
	int figure = Get_figure(x);
	int order = 0;
	long long y = pow(10.0, (double)figure - 1);//求出
	while (y > 0)
	{
		order = x / y;//对x做整除运算保留最高位
		printf("%d", order);
		x = x % y;//对x取模丢掉最高位,为下一次求最高位做准备
		y = y / 10;
	}
}

运行结果如下:
在这里插入图片描述
3、对输入的数字进行逆序输出
基本思想:先对其进行模10运算得到其最高位,然后丢掉期最低位,具体过程如下图:
在这里插入图片描述
具体操作如下:

void Get_reverse(int x) //对输入的数字逆序输出
{
	int reverse = 0;
	while (x > 0) {
		reverse = x % 10;//先x进行模10运算得到最低位
		printf("%d", reverse);
		x /= 10;//将最低位丢掉
	}
}

运行结果如下:
在这里插入图片描述
4、代码展示:

#include<stdio.h>
#include<math.h>
int Get_figure(int x)//获取输入数字位数函数
{
	int i = 0;
	while (x > 0)
	{
		x /= 10;//对x进行整除运算然后再赋值给x
		i++;
	}
	return i;
}
void Get_order(int x)//将输入的数字顺序输出 
{
	int figure = Get_figure(x);
	int order = 0;
	long long y = pow(10.0, (double)figure - 1);//求出
	while (y > 0)
	{
		order = x / y;//对x做整除运算保留最高位
		printf("%d", order);
		x = x % y;//对x取模丢掉最高位,为下一次求最高位做准备
		y = y / 10;
	}
}
void Get_reverse(int x) //对输入的数字逆序输出
{
	int reverse = 0;
	while (x > 0) {
		reverse = x % 10;//先x进行模10运算得到最低位
		printf("%d", reverse);
		x /= 10;//将最低位丢掉
	}
}
int main() {
     int b = 0;
	 scanf_s("%d", &b);
	 printf("%d的位数为%d",b, Get_figure(b)); 
	int c;
	scanf_s("%d", &c);
	printf("%d的顺序输出为:\n", c);
	Get_order(c);
	int d;
	scanf_s("%d", &d);
	printf("%d的逆序输出为:\n",d);
	Get_reverse(d);
}
  • 6
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值