C语言实现打印整数的每一位数
逆序打印整数
思路:通过n%10可以获得整数的个位,获得个位后,整数/10就看去掉个位,得到新的一个数。循环即可获得所有数。
#define _CRT_SECURE_NO_WARNINGS #include <stdio.h> 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 <stdio.h> 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; }