顺序输出整数的每一位(非递归)

顺序输出整数的每一位(非递归)

#define _CRT_SECURE_NO_WARNINGS 1
#include<stdio.h>
#include<stdlib.h>
#include<math.h>
int main()//顺序输出整数的每一位
{
	printf("请输入数:\n");
	int num = 0;
	scanf("%d", &num);
	while (1)
	{
		int a = num;
		int count = 0;
		while (a >= 10)
		{
			a = a / 10;
			count++;
		}
		if (a >= 0 && a < 10)
		{
			printf("%d ", a);
		}
		num = num %(int) pow(10, count);//如将1234-->234
		if (num >= 0 && num < 10)
		{
			printf("%d", num);
			break;
		}
	}
	printf("\n");
	system("pause");
	return 0;
}
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: ```python def reverse_print(): num = int(input("请输入一个整数(输入0以终止):")) if num == 0: return reverse_print() print(num) reverse_print() ``` ### 回答2: 递归是指在函数的定义中调用函数本身的过程。要编写一个递归函数来实现将所输入的整数以相反顺序打印出来的功能,可以按照以下步骤进行实现: 1. 首先,定义一个递归函数,命名为reverse_print,该函数接收一个整数作为参数。 2. 在函数内部,首先判断传入的整数是否为0,如果是0,则表示终止输入,不再进行下一步操作。 3. 如果传入的整数不为0,则将该整数除以10后的商作为参数再次调用reverse_print函数,实现递归调用的过程。 4. 在函数内部的递归调用之后,再输出传入的整数除以10后的余数。这样就可以实现将整数以相反顺序打印出来的效果。 以下为示例代码: ```python def reverse_print(n): if n == 0: # 判断是否终止输入 return else: reverse_print(n // 10) # 递归调用,传入整数除以10后的商 print(n % 10) # 输出整数除以10后的余数 while True: num = int(input("请输入一个整数:")) if num == 0: # 输入为0时终止输入 break reverse_print(num) ``` 以上代码实现了一个递归函数来将所输入的整数以相反顺序打印出来。在输入非0整数时,程序会递归调用reverse_print函数,并将整数除以10后的商作为参数传入,直到输入为0时终止递归。在每次递归返回时,程序会输出当前整数除以10后的余数,这样就实现了整数的相反顺序打印。 ### 回答3: 递归函数是一种在函数内部调用自身的编程技巧。根据题目要求,我们需要编写一个递归函数来将所输入的整数以相反顺序打印出来。 首先,我们需要定义一个递归函数,可以命名为reverse_print。此函数将以整数形式作为参数进行调用,并检查输入的整数是否为0,如果是,则终止输入;如果不是0,则继续执行函数的递归调用。 在函数内部,我们可以先检查输入的整数是否为0,如果是,则不进行任何操作;如果不是,则先调用reverse_print函数,将整数除以10,取整数结果作为参数进行函数的递归调用。这样可以保证每次递归函数调用的参数都是输入整数去掉最后一位数的结果。 接着,我们可以在函数内部使用print函数,将当前整数的最后一位打印出来。这样可以实现输入整数的相反顺序打印。 最后,在函数的主体中,我们需要根据输入的整数调用reverse_print函数。当输入整数为0时,递归函数调用终止,并不再进行递归调用。 通过以上步骤,我们可以实现输入整数的相反顺序打印。递归函数的思想是不断调用自身,并在每次调用中改变参数,直到满足终止条件才停止递归。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值