求助 有一个不通过
5102查看
大佬帮帮我为什么有一个例子不通过呢? using namespace std; int main() { int t; cin >> t; for (int i = 0; i < t; i++) { int n,count=0,sum=0; cin >> n; vectorwu(n); for (int i = 0; i < n; i++) { cin >> wu[i]; if (wu[i]++ == 0)count++; sum+=wu[i]; } if (sum == 0)count++; cout << count << endl; } return 0; }
#课程问答
| 关注

#include <bits/stdc++.h>
using namespace std;
int main() {
int t;
cin >> t;
for (int i = 0; i < t; i++) {
int n, count = 0, sum = 0;
cin >> n;
vector<int> wu(n);
for (int i = 0; i < n; i++) {
cin >> wu[i];
// if (wu[i]++ == 0) count++; 修改为
if(wu[i] == 0)count ++, wu[i] ++;
sum += wu[i];
}
if (sum == 0) count++;
cout << count << endl;
}
return 0;
}
copy
如果把自增放到if里面的话,会导致无论条件是否成立,都使得wu[i] ++,那么可能导致sum计算出错。

回复
你的回复
请
登录
后回复