题目
问题 E: 整数转字符串(递归)
时间限制: 1 Sec 内存限制: 128 MB
提交: 1000 解决: 605
[提交][状态][讨论版]
题目描述
写递归函数void itostr(int num,char str[]),函数功能是将一个整数num转换为字符串str,如整数135,转换为字符串“135”。主函数如下,不可修改。
itostr每次独立调用。不可以为实现itostr的递归定义全局变量。

输入
测试次数t
t个整数
输出
每个整数,输出转换后的数字字符串
样例输入
5
135
0
78934012
-1110
1323
样例输出
135
0
78934012
-1110
1323
代码块
#include <stdio.h>
void itostr(int num, char str[])
{
int i, j;
if(num>0)
{
int temp;
for(i=0; i<100; i++)
{
temp = 1;
for(j=0; j<i; j++)
temp *= 10;
if(!(num/temp))
break;
}
temp = num%10;
num /= 10;
str[i-1] = temp+48;
itostr(num, str);
}
else if(num<0)
{
int temp;
for(i=0; i<100; i++)
{
temp = 1;
for(j=0; j<i; j++)
temp *= 10;
if(!(num/temp))
break;
}
temp = -num%10;
num /= 10;
str[i] = temp+48;
if(!num)
str[0] = '-';
itostr(num, str);
}
}
int main(void)
{
int t, num;
scanf("%d", &t);
while(t--)
{
char str[20] = "0";
scanf("%d", &num);
itostr(num, str);
printf("%s\n", str);
}
return 0;
}