一顿仨花卷 2022-01-14 18:04 采纳率: 33.3%
浏览 51
已结题

同一个代码,在不同编译器中运行结果不同,为什么?

我遇到的问题是:
在调试中先用DevC++,发现输出有问题,然后去对比别人的代码没有发现区别,然后我换了Visual Studio发现输出结正确了,这让我感到很疑惑,可以帮吗解答一下吗?

img

img

代码问题描述:
我们有N个正整数,均小于10000。现在需要将这些正整数按照该正整数每一位数字相加的和从小到大排序,即该正整数的每一位数字相加的和越小排位越靠前。如果各位相加和相等,则按照正整数的值从小到大排序。

代码如下

#include <iostream>
#include <algorithm>
using namespace std;
int arr[105];
bool cmp(int a,int b)
{
    int a1,b1=0;
    int c=a;
    int d=b;
    while(a)
    {
        a1+=a%10;
        a=a/10;
    }
    while(b)
    {
        b1+=b%10;
        b=b/10;
    }
    if(a1==b1)
    {
        return c<d;
    }
    else
        return a1<b1;
}

int main()
{
    int n;
    cin >> n;
    for(int i=0;i<n;i++)
    {
        cin >> arr[i];
    }
    sort(arr,arr+n,cmp);
    
    for(int i=0;i<n;i++)
    {
        cout<< arr[i]<<" ";
    }
    return 0;
}

  • 写回答

2条回答 默认 最新

  • _GX_ 2022-01-14 18:13
    关注

    a1没有初始化为0

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

问题事件

  • 系统已结题 1月23日
  • 已采纳回答 1月15日
  • 创建了问题 1月14日

悬赏问题

  • ¥20 ML307A在使用AT命令连接EMQX平台的MQTT时被拒绝
  • ¥20 腾讯企业邮箱邮件可以恢复么
  • ¥15 有人知道怎么将自己的迁移策略布到edgecloudsim上使用吗?
  • ¥15 错误 LNK2001 无法解析的外部符号
  • ¥50 安装pyaudiokits失败
  • ¥15 计组这些题应该咋做呀
  • ¥60 更换迈创SOL6M4AE卡的时候,驱动要重新装才能使用,怎么解决?
  • ¥15 让node服务器有自动加载文件的功能
  • ¥15 jmeter脚本回放有的是对的有的是错的
  • ¥15 r语言蛋白组学相关问题