自己输入了几组数,结果不是偏小就是直接显示负数(按理说给的数据不应该出现预算不够的情况),所以感觉可能y[i]有问题了
#include<stdio.h>
#define M 12
int main()
{ int y[M],i,m,n;
for(i=1;i<=12;i++){
scanf("%d",&y[i]);
}
for(i=1;i<=12;i++)
{
if(300<y[i]){
printf("-%d",i);
return 0;
}
else if(300-y[i]>=100&&i<=11){
m+=((300-y[i])/100)*100;
y[++i]=y[i]-300+m+y[i];
}else if(300- y[i]>=100&&i==12){
n=300-y[i];
}
else if(300-y[i]<100&&300-y[i]>=0&&i<=11){
y[++i]=y[i]-(300-y[i]);
}else{n=300-y[i];}
} printf("%.0lf",1.0*m*1.2+n*1.0);
return 0;
}