耒阳一中 2022-12-26 11:44 采纳率: 81.3%
浏览 110
已结题

嗯c语言递归法将整数转换成字符串输出

![img](https://img-/


#include <stdio.h>
#include <string.h>

void convert_to_string(int n, char* str) {
    if (n == 0return;  // 递归终止条件

    // 将余数加到字符串末尾
    str[strlen(str)] = ' ';  // 在数字之间添加空格
    str[strlen(str)] = n % 10 + '0';

    // 递归调用
    convert_to_string(n / 10, str);
}

int main() {
    int n;
    scanf("%d", &n);

    char str[100] = "";  // 字符串初始化为空字符串

    if (n < 0) {
        // 如果是负数,在字符串开头添加负号
        str[0] = '-';
        n = -n;
    }

    // 将数字转换为字符串
    convert_to_string(n, str);

    // 反转字符串
    for (int i = 0, j = strlen(str) - 1; i < j; i++, j--) {
        char temp = str[i];
        str[i] = str[j];
        str[j] = temp;
    }

    // 在字符串开头添加 "output: "
    char output[100] = "output: ";
    strcat(output, str);

    // 输
printf("%s\n", output);return 0;
}

嗯,现在就是负号都要放在前头。嗯,但是输出就是在后头。

  • 写回答

3条回答 默认 最新

  • 浪客 2022-12-26 16:07
    关注
    
    int main()
    {
       int n, s = 0;
       scanf("%d", &n);
       char str[100] = ""; // 字符串初始化为空字符串
       if (n < 0)
       {
          // 如果是负数,在字符串开头添加负号
          str[0] = '-';
          str[1] = ' ';
          n = -n;
          s = 2;
       }
       // 将数字转换为字符串
       convert_to_string(n, str + s);
       // 反转字符串
       for (int i = s, j = strlen(str) - 1; i < j; i++, j--)
       {
          char temp = str[i];
          str[i] = str[j];
          str[j] = temp;
       }
       // 在字符串开头添加 "output: "
       // char output[100] = "output: ";
       // strcat(output, str);
       // 输
       printf("output: %s\n", str);
       return 0;
    }
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?

问题事件

  • 已结题 (查看结题原因) 12月26日
  • 已采纳回答 12月26日
  • 修改了问题 12月26日
  • 创建了问题 12月26日

悬赏问题

  • ¥15 2024-五一综合模拟赛
  • ¥15 如何将下列的“无限压缩存储器”设计出来
  • ¥15 下图接收小电路,谁知道原理
  • ¥15 装 pytorch 的时候出了好多问题,遇到这种情况怎么处理?
  • ¥20 IOS游览器某宝手机网页版自动立即购买JavaScript脚本
  • ¥15 手机接入宽带网线,如何释放宽带全部速度
  • ¥30 关于#r语言#的问题:如何对R语言中mfgarch包中构建的garch-midas模型进行样本内长期波动率预测和样本外长期波动率预测
  • ¥15 ETLCloud 处理json多层级问题
  • ¥15 matlab中使用gurobi时报错
  • ¥15 这个主板怎么能扩出一两个sata口