C语言——对任意一个整数的简单处理

C语言对任意一个整数的简单处理

  • 统计任意一个整数为几位数字
  • 主要思路:
    12345/10 —> 1234 ,除法实质发生了去个位的效果。 利用这一特性,我们以 n 不等于(!=)0 为循环出口,循环进行除法运算,并初始化变量count进行储存发生除法运算的次数,该次数即为该整数的位数。
//统计一任意整数为几位数字
//12345 -> 5
int GetFigures(int n)
{
	int count = 0; //用来统计数字位数

	do
	{
		n /= 10;  // 去个位
		count++;
	}while(n != 0);

	return count;
}
  • 逆序输出任意整数的每一位数字
    -在计算机中,任何一个整数n,例如 123%10 —> 3 ,我们可以可以先对n进行求余输出,然后在对n去个位,再利用循环以n 不等于(!=)0 为循环出口,进行循环运算。如果整数n为负数,对n进行去符号,以达成逆序输出的目的。
//逆序输出每一个整数的个位数字
//12345 ->1 2 3 4 5 
void PrintReverse(int n)
{
	if(n < 0)    //对负数去符号
	{
		printf("-");
		n = -n;
	}

	while(n != 0)
	{
		printf(" %d",n%10);
		n /= 10;   //去个位
	}
	
	printf("\n");
}
  • 顺序输出任意整数的每一位数字

  • 456/100—>4 由此我们可以利用GetFigures(n)求整数n的位数的函数求出整数的位数,来确定n除以10的多少次方。然后利用循环以n 不等于(!=)0 为循环出口,不断的进行去首位输出,以达成顺序输出的目的。

//顺序输出每一个整数的个位数字
//12345 ->1 2 3 4 5
void PrintOrder(int n)
{
	//FetGigures(n)求整数的位数的函数
	int count = FetFigures(n);  //count为整数的位数

	int power = (int)pow(10.0,(count-1)); //计算1000..

	while(n !=0)
	{
		printf("%d ",n/power); 
		n %= power;//去首位
		power /= 10;
	}

	printf("\n");
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值