C++蒟蒻一枚 2021-12-09 23:18 采纳率: 100%
浏览 45
已结题

C++一本通1160倒序数字符串无法识别答案,求解

这是代码

#include<bits/stdc++.h>
using namespace std;    
char ch[200];
char dx(int x)
{
    if(x==0)
    return ch[0];
    else
    {
    cout<<(int)(ch[x]-'0'); 
    return dx(x-1);
    }
}
int main()
{
    cin.getline(ch,200);
    cout<<int(dx(strlen(ch)-1)-'0');
    return 0;
 }

  • 写回答

4条回答 默认 最新

  • fortunely2 2021-12-14 12:01
    关注

    你自己的代码在VS2017上,测试用例“123”,是可以正确输出“321”的。
    建议用int或long long存储明确为整数的数字,而不要用char[],除非特殊情况,比如值大小可能超过2^64。

    如果只是逆转整数,可以参考这个:

    int reverseNum(int n)
    {
        int res = 0;
    
        while (n > 0)
        {
            res = res * 10 + (n % 10);
            n /= 10;
        }
        return res;
    }
    
    int main()
    {
        int n;
        
        while (cin >> n) {
            cout << reverseNum(n) << endl;
        }
        return 0;
    }
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(3条)

报告相同问题?

问题事件

  • 系统已结题 12月22日
  • 已采纳回答 12月14日
  • 创建了问题 12月9日

悬赏问题

  • ¥15 悬赏Python-playwright部署在centos7上
  • ¥15 psoc creator软件有没有人能远程安装啊
  • ¥15 快速扫描算法求解Eikonal方程咨询
  • ¥20 我的是道格手机,重置后屏幕右上角出现红色字的未写入tee key 和未写入google key请问怎么去掉啊
  • ¥30 关于R语言运行分区生存模型中的问题!
  • ¥15 校内二手商品转让网站
  • ¥20 高德地图聚合图层MarkerCluster聚合多个点,但是ClusterData只有其中部分数据,原因应该是有经纬度重合的地方点,现在我想让ClusterData显示所有点的信息,如何实现?
  • ¥100 求Web版SPC控制图程序包调式
  • ¥20 指导如何跑通以下两个Github代码
  • ¥15 大家知道这个后备文件怎么删吗,为啥这些文件我只看到一份,没有后备呀