洛716 2021-12-01 21:09 采纳率: 100%
浏览 24
已结题

反转输出一个整数,如果溢出,输出0

题目如下:

img


代码如下

#include<iostream>
using namespace std;
int main()
{
    int a;
    while (cin >> a)
    {
        if(a>-2147483648&&a<2147483647)
        {
            int c = 0,b=0;
            for (int i = 1; ; i++)
            {
                if (a != 0)
                {
                    
                    c = a % 10;
                    b = b*10+c;
                    a = a / 10;
                }
                else
                    break;
            }
            cout << b << endl;
        }
        else
            cout << 0 << endl;
    }
}

错误如下

img

  • 写回答

1条回答 默认 最新

  • 微风-_- 2021-12-01 21:27
    关注

    如果是个负数,cin会读取一个-号,导致报错

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

问题事件

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

悬赏问题

  • ¥15 (SQL语句|查询结果翻了4倍)
  • ¥15 Odoo17操作下面代码的模块时出现没有'读取'来访问
  • ¥50 .net core 并发调用接口问题
  • ¥15 网上各种方法试过了,pip还是无法使用
  • ¥15 用verilog实现tanh函数和softplus函数
  • ¥15 Hadoop集群部署启动Hadoop时碰到问题
  • ¥15 求京东批量付款能替代天诚
  • ¥15 slaris 系统断电后,重新开机后一直自动重启
  • ¥15 QTableWidget重绘程序崩溃
  • ¥15 谁能帮我看看这拒稿理由啥意思啊阿啊