不知道该怎么形容
查看原帖
不知道该怎么形容
767465
xiayunpeng楼主2024/8/6 22:13

这里是一位用户的代码

#include <iostream>

using namespace std;

int main()
{
    int mo=0;
    int spend[13];//每个月的花销
    int earing[13];//每个月的预算
    for(int i=1;i<=12;i++)
    {
        scanf("%d",&spend[i]);//输入花销
        earing[i]=300;//每个月的预算刚开始都是300
    }
    int sheng[13],get[13];
    for(int i=1;i<=12;i++)
    {
        sheng[i]=earing[i]-spend[i];
        //printf("剩的钱=%d\n",sheng[i]);
        if(sheng[i]<0)
        {
            printf("-%d",i);
            return 0;
        }//出现钱不够的情况
        get[i]=sheng[i]/100*100;//每个月剩的整百
       // printf("给妈妈的钱=%d\n",get[i]);
        mo=get[i]+mo;//把整百都给妈妈
        //printf("留给下个月的钱=%d\n",sheng[i]-get[i]);
        earing[i+1]+=sheng[i]-get[i];//下个月的钱等于300+上个月剩的零钱
        //printf("\n");
    }
    int li;
    li=mo*0.2;
    //printf("最后剩的钱=%d\n",sheng[12]-get[12]);
   // printf("给妈妈的钱=%d 利润=%d\n",mo,li);
    mo+=sheng[12]-get[12];
    mo+=li;
    printf("%d",mo);
    return 0;
}

40分,wa 2, 3, 5, 7, 9, 10

事实上,将代码放入电脑上测试,会发现其实#2的答案是正确的,可不知道什么原因判判了错。

图片

图片

图片

另外我也尝试了删去换行,加上int()都没有效果。

一些其他人因为没有加最后手头的钱错了相同的点。

:(

可能是洛谷bug,我这里做了详细的排查,应该不是代码的问题(但也说不清楚)。

有有办法的可以解答一下,谢谢。 (●'◡'●)

2024/8/6 22:13
加载中...