C语言第三十弹---打印一个整数的每一位数

C语言实现打印整数的每一位数

逆序打印整数

思路:通过n%10可以获得整数的个位,获得个位后,整数/10就看去掉个位,得到新的一个数。循环即可获得所有数。

#define _CRT_SECURE_NO_WARNINGS
#include 

void print(int n)
{
	while (n)
	{
		//获取个位
		int tmp = n % 10;
		printf("%d ",tmp);//打印获得的个位
		//去除个位
		n /= 10;
	}
}

int main()
{
	int n = 0;
	scanf("%d",&n);
	print(n);
	return 0;
}

正序打印

思路:使用递归,设定一个数>9作为开始和结束条件,并在条件里面进行递归。当<9时就使用整数%10求出n的最后一位打印,然后再回归。

#define _CRT_SECURE_NO_WARNINGS
#include 

void print(int n)
{
	if (n > 9)
	{
		print(n / 10);//执行递归,n/10的值进行递归,当不满足if语句时就会开始回归
	}

	printf("%d ",n % 10);
}

int main()
{
	int n = 0;
	scanf("%d",&n);
	print(n);
	return 0;
}

你可能感兴趣的:(c语言,开发语言)