【点我看视频讲解】C程序设计谭浩强第五版课后习题视频讲解

用递归法将一个整数n转换成字符串。例如,输人483,应输出字符串483。n的位数不确定,可以是任意位数的整数

用递归法将一个整数n转换成字符串。例如,输人483,应输出字符串”483”。n的位数不确定,可以是任意位数的整数

题目解析:

递归法求解主要要有结束条件,此题为n/10 == 0时就直接输出,其次本题还要考虑如果整数位负数的情形,此时需要输出一个字符串的负号。

#include<stdio.h>

void Convert(int n)
{
	int i;
	if ((i = n / 10) != 0)
		Convert(i);
	putchar(n % 10 + '0');
}

int main()
{
	int number;
	printf("input an integer: ");
	scanf("%d", &number);
	printf("output: ");
	if (number < 0)
	{
		putchar('-');   //先输出一个负号'-'
		number = -number;
	}
	Convert(number);
	printf("\n");
	return 0;
}

运行结果:

用递归法将一个整数n转换成字符串。例如,输人483,应输出字符串483。n的位数不确定,可以是任意位数的整数

posted @ 2020-07-22 18:34  北邮杨帆  阅读(4257)  评论(0编辑  收藏  举报
【视频讲解】【强烈推荐视频讲解】C程序设计谭浩强第五版课后习题视频讲解