迷のbug

  今天写了道题,但不知道什么bug,在自己电脑上的两个编译器执行的过程都与我的算法想法不一样。。。

  bug在第11行,该进入判断的时候都没有正确进入判断。。。不知道为什么。。。郁闷。

#include <bits/stdc++.h>
#define rep(i, a, b) for(int i = a; i < b; i++)
int gcd(int a, int b){return b == 0 ? a : gcd(a%b, a);}
const int N = 12;
int main()
{
	int m, over = 0, re; double save = 0.;
	for(int i = 0; scanf("%d", &m) and i < N; i++)
	{
		over += 300 - m;
		if (over > 99) re = (over % 100) * 100, save += re, over -= re;
		else if (over < 0) return printf("-%d\n", i + 1), 0;
	}
	save *= 1.2;
	return printf("%d\n", over + (int)save), 0;
}

  测试1:

290
230
280
200
300
170
340
50 
90 
80 
200
60 

  output:

-7 

  测试2:

290 
230 
280 
200 
300 
170 
330 
50 
90 
80 
200 
60

  output:

1580

猜你喜欢

转载自www.cnblogs.com/darkchii/p/9625103.html
bug