qq_52643264 2021-04-21 23:44 采纳率: 0%
浏览 9

正整数逆序输出 三个错误 该怎么改啊,please

正整数逆序输出 三个错误 该怎么改啊,please
  • 写回答

2条回答 默认 最新

  • 爱晚乏客游 2021-04-22 09:09
    关注

    你不应该在第11行使用n=n%10;比如你的n=1024,你这句话执行完之后就变成了n=4,你觉得这个结果符合你的预期吗?。
    如果逆序输出是指321变成123的话,其实需要定义一个新的变量来保存最后的结果就行。给你写个参考,该方法目前有个漏洞就是100不会变成001,而是1。如果题目要求变成001的话,那么需要使用char数组来保存每一位的结果,自己想一下怎么解决把。

    //输入n
    int res=0;//保存最后的结果
    int num;//保存每个位上面的数字
    while(n>0){
        num=n%10;
        printf("num=%d ",num);//输出看下效果
        res=res*10;
        res+=num;
        printf("res=%d ",res);
        n=n/10;
        printf("执行该循环之后n=%d\n",n);
    }
    
    
    评论

报告相同问题?