您的代码呢?
by Wanderer_01 @ 2023-10-06 17:45:53
你把错误代码贴一下.
by wzhm54nr @ 2023-10-06 17:45:53
```cpp
#include<bits/stdc++.h>
using namespace std;
int main()
{
int ys[12];//ys=预算
int c=0,s=0;
int i;//c=存款,s=手里的零钱
for(i=1;i<13;i++)
{
cin>>ys[i];//判断 ,将i的每个值输入变量a(a有五个容器
s=s+300-ys[i];//每个月手中剩余的钱
if(s<0){cout<<-i;exit(0);}//如果钱不够结束程序
c=c+s/100*100;//存款
s=s%100;//每月可用钱
}
c=c*1.2+s;//脱出循环,
cout<<c<<endl;
return 0;
}
```
by Diciotto @ 2023-10-06 17:46:05
@[Wanderer_01](/user/544935) 贴了 抱歉
by Diciotto @ 2023-10-06 17:46:49
@[wzhm54nr](/user/1071328) 已经贴了,抱歉
by Diciotto @ 2023-10-06 17:47:12
@[Diciotto](/user/1089892) 你的代码在洛谷上能过
by Wanderer_01 @ 2023-10-06 17:51:39
for循环中访问了ys[i],当i=12时,会越界
可以把ys数组开到15试试
by wzhm54nr @ 2023-10-06 17:55:22
有一个小错误在于循环的起始值应为0而不是1。此外,在计算c的最终值时,将其减去s的值,因为s是剩余的零钱。代码:```
#include <iostream>
using namespace std;
int main()
{
int ys[12]; // ys=预算
int c = 0, s = 0;
int i; // c=存款,s=手里的零钱
for (i = 0; i < 12; i++) // 将起始值从1改为0
{
cin >> ys[i]; // 判断 ,将i的每个值输入变量a(a有五个容器
s = s + 300 - ys[i]; // 每个月手中剩余的钱
if (s < 0)
{
cout << -(i + 1); // 如果钱不够结束程序
exit(0);
}
c = c + s / 100 * 100; // 存款
s = s % 100; // 每月可用钱
}
c = c * 1.2 + s; // 脱出循环,
cout << c << endl;
return 0;
}
```
by o2thereal @ 2023-10-06 18:22:17
@[Wanderer_01](/user/544935) 好的,感谢,我去试试!
by Diciotto @ 2023-10-08 15:06:31
@[wzhm54nr](/user/1071328) 好的,真的非常感谢!我现在尝试改正!
by Diciotto @ 2023-10-08 15:08:24