讨论 / 为什么总是与测试结果相差一呢?
冰莹锁链 2012-02-09 20:48:00
点我顶贴 收藏 删除
这是小弟的代码,但是纠结为什么得出最后的钱总是比测试结果差1,求测试数据是什么

#include"stdio.h"

#define N 300

#define Year 12

int main()

{

int money[Year+1],temp=N;

int i,flag=0,fail=0;

int mother=0;

for(i=1;i<=Year;i++)

scanf("%d",&money[i]);

for(i=1;i<=Year;i++)

{

if(money[i]>temp)

{

fail=-i;

flag=1;

break;

}

if(temp-money[i]<100)

{

temp=temp-money[i];

temp=temp+300;

continue;

}

if((temp-money[i]>=100)&&(temp-money[i]<200))

{

mother+=100;

temp=temp-100-money[i];

temp=temp+300;

continue;

}

if((temp-money[i]>=200)&&(temp-money[i]<300))

{

mother+=200;

temp=temp-200-money[i];

temp=temp+300;

continue;

}

if(temp-money[i]>=300)

{

mother+=300;

temp=temp-300-money[i];

temp=temp+300;

continue;

}

}

if(flag==1)printf("%d\n",fail);

else

printf("%d\n",(int)(1.2*mother)+temp-300);

return 0;

}

#1 87933801@2012-02-09 20:48:00
回复 删除
输出的时候补上1
#2 87933801@2012-02-09 20:48:00
回复 删除
输出的时候补上1
查看更多回复
提交回复