中间这里写得太绕了,建议回去重新看一下题目
```
for(int i=0;i<12;i++){
cin>>a[i];
jinjin=shengyu+300-a[i];
if(jinjin-a[i]>=100){
shengyu=(jinjin-a[i])%100;
yibai=((jinjin-120)/100)*100;
mama+=yibai;
}
if(jinjin-a[i]<0){
bad=i;
fu=1;
}
}
```
其实不用那么麻烦,看一下这样
```
for(int i=1;i<=12;i++){
money+=300;
if(money<month[i]){//预算不够
printf("-%d",i);
return 0;
}
money-=month[i];
save+=money/100*100;//存钱
money%=100;
}
```
by Aakkosetsumussa @ 2023-02-09 08:22:58
@[Aakkosetsumussa](/user/400468)
这个save是不是剩余的? 不需要赋值save=money-a[i]吗?
by xqgg @ 2023-02-09 09:35:14
@[Aakkosetsumussa](/user/400468) 谢谢大佬!!
by xqgg @ 2023-02-09 09:35:50
@[xqgg](/user/934107) money一直在存,减完month[i]就是剩余的,save是存的钱,题目中说是有钱就现存,而不会考虑之后
by Aakkosetsumussa @ 2023-02-09 09:38:16