一道题,递归的,不知什么意思

skywgs 2005-03-18 10:35:51
编写一个递归函数,将输入的整数转换成字符串输出到屏幕上,要求不能用C编译器提供的sprintf,另外,编写主函数调用该函数,以验证其正确性。

是不是原样输出呀

哪位高手编个代码
...全文
46 点赞 收藏 4
写回复
4 条回复
sooler 2005年03月18日
#include <cstdio>
#define N 20

int convert (int n, char *a);
int main()
{
int n;
char a[N];

scanf("%d", &n);
printf("Int: %d\n", n);
convert (n, a);
printf("String: %s\n", a);

return 0;
}

int convert (int n, char *a)
{
int i, j;
char temp[N];

i = 0;
while (n)
{
temp[i] = n%10 + '0';
n /= 10;
i++;
}
temp[i] = '\0';

for(j=0; j < i; j++)
a[j] = temp[i-j-1];
a[i] = '\0';

return 0;
}
回复 点赞
skywgs 2005年03月18日
steedhorse(晨星) ,多谢了
回复 点赞
晨星 2005年03月18日
你给的分数太少,所以俺的程序也只能处理正整数。:P
你把它改一改,让它也能处理0和负数吧。:)
回复 点赞
晨星 2005年03月18日
#include <stdio.h>

void PrintNum(int n);

int main()
{
PrintNum(12345);
return 0;
}

void PrintNum(int n)
{
if(0 == n)
return;
else
{
PrintNum(n / 10);
printf("%d", n % 10);
}
}
回复 点赞
发动态
发帖子
C语言
创建于2007-09-28

3.2w+

社区成员

24.0w+

社区内容

C语言相关问题讨论
社区公告
暂无公告