用递归法将一个整数n转换成字符串。例如,输人483,应输出字符串”483”。n的位数不确定,可以是任意位数的整数。
AI智能判题可自动批改答案并给出反馈,每次使用将消耗 1个诺币
您当前的诺币数量: 个
AI正在判题,请稍候...
void fun(int n) { if (n<0) { putchar('-'); n = -n; } if (n/10!=0) { fun(n/10); } putchar(n%10+'0'); printf(" "); } int main() { int n = 0; scanf("%d",&n); fun(n); return 0; }
#include <stdio.h> #include<stdlib.h> #include<string.h> #include<math.h> #define N 20 void change(int a,char *p); int main(void) { int number; char num[N]; puts("请输入一个数字"); scanf("%d", &number); if (number < 0)//考虑负数 { putchar('-'); //先输出一个负号'-' number = -number; } change(number, num); int n = strlen(num);//实际长度 for (int i = n - 2; i >= 0; i--) {//注意从n-2反向输出 printf("%c", num[i]); } return 0;
}// puts("");
void change(int a, char* p) { int i = 0; while (a % 10 > 0) { *(p + i) = a % 10+'0';//+'0' 字符0 a /= 10; i++; } *(p + i+1) = '\0'; }
题目解析及答案:
递归法求解...
登录后提交答案