今天做到一个题,在输入的时候使用scanf能通过,cin却有个测试点不过,为什么呀555
scanf版:
#include <cstdio>
using namespace std;
int main()
{
int N; scanf("%d", &N);
for(int i = 0; i < N; i++){
long long a, b, c;
scanf("%lld%lld%lld", &a, &b, &c);
long long sum = a + b;
if(a > 0 && b > 0 && sum < 0){
printf("Case #%d: true\n", i + 1);
} else if(a < 0 && b < 0 && sum >= 0){
printf("Case #%d: false\n", i + 1);
} else if(sum > c){
printf("Case #%d: true\n", i + 1);
} else{
printf("Case #%d: false\n", i + 1);
}
}
return 0;
}
cin版:
#include <iostream>
using namespace std;
int main()
{
int N; cin >> N;
for(int i = 0; i < N; i++){
long long a, b, c;
cin >> a >> b >> c;
long long sum = a + b;
if(a > 0 && b > 0 && sum < 0){
printf("Case #%d: true\n", i + 1);
} else if(a < 0 && b < 0 && sum >= 0){
printf("Case #%d: false\n", i + 1);
} else if(sum > c){
printf("Case #%d: true\n", i + 1);
} else{
printf("Case #%d: false\n", i + 1);
}
}
return 0;
}
初学不太明白,求大佬们指点指点鸭,是long long的原因吗?
可能是Cin与Printf混用导致的吧...