43~~
int a[12],store=0,save=0,surplus=0,i,total;//total当月可用剩下来的资金
for(i=0;i<12;i++) //surplus是上个月剩余
scanf("%d",&a[i]);
for(i=0;i<12;i++)//i 就应该从零开始,而不是1 ,数组下标从0开始
{
total=surplus+300-a[i];
if(total<0)
{
printf("-%d",i+1);
return 0;
}
save=(total/100)100;
store+=save;
surplus=total-save;//store是累计总共存储
}
printf("%.f",store1.2+surplus);//还要加上剩余的
return 0;
bug:怎么判断能否进入下一个月? 用total做追踪!!!!
给整数100,200怎么给? %100
当月可用剩下来的资金 VS 上个月剩余
#错误:
for(i=0;i<12;i++)
{
if(300-a[i]+surplus<0)
{printf("-%d",a[i]+surplus-300);
break;}
else
{
surplus=surplus+300-a[i];
store+=surplus%100100;
surplus-=store;
}
printf("%f",store1.2);
}
循环内错误插入printf("%f", store*1.2) ,导致中途输出无效内容
当检测到“不够用”时,原代码仅 break 跳出循环,但后续代码(如错误的 printf )仍会执行。应在输出 -x 后直接 return 0 终止程序。
收获:跟踪手中的零钱和储蓄金额。total save surplus
浙公网安备 33010602011771号