将一个整数n转换成字符串。例如;输入483,应得到字符串"483"。其中,要求用一个递归函数实现把一个正整数转换为字符串。
输入格式:
首先输入测试组数T,然后输入T组测试数据。每组测试数据输入一个整数n(-2^31≤n≤2^31-1)。
输出格式:
对于每组测试,输出转换后的字符串。
输入样例:
1
1234
输出样例:
1234
供参考:
#include<stdio.h>
void fun(int a)
{
if (a == 0) return;
fun(a/10);
putchar(a%10+'0');
}
int main()
{
int T, n;
scanf("%d",&T);
while(T--)
{
scanf("%d",&n);
if(n<0)//负数
{
n=-n;
putchar('-');
}
else if(n == 0){ //0
putchar(n+'0');
putchar('\n');
continue;
}
fun(n);
putchar('\n');
}
return 0;
}
#include <stdio.h>
char *to_string_impl(int a, char *p)
{
if (a < 10)
{
*p++ = a + '0';
return p;
}
else
{
char *q = to_string_impl(a / 10, p);
*q++ = a % 10 + '0';
return q;
}
}
char *to_string(int a)
{
static char buffer[32];
char *p = buffer;
if (a < 0)
{
*p++ = '-';
a = -a;
}
char *q = to_string_impl(a, p);
*q = '\0';
return buffer;
}
int main()
{
int n, a;
scanf("%d", &n);
for (int i = 0; i < n; i++)
{
scanf("%d", &a);
printf("%s\n", to_string(a));
}
return 0;
}