大佬们求助,为啥全WA?

P1046 [NOIP2005 普及组] 陶陶摘苹果

liedou @ 2023-03-21 22:58:04

本机测试样例能过,但是提交全WA

#include <bits/stdc++.h>
using namespace std;
int main() {
    int a[10], n, ans;
    for (int i = 0; i < 10; i++) cin >> a[i];
    cin >> n;
    for (int i = 0; i < 10; i++) {
        if (n + 30 >= a[i]) ans++;
    }
    cout << ans << endl;
    return 0;
}

by liedou @ 2023-03-21 23:01:04


by Xia3li @ 2023-03-21 23:10:50

第四行中ans没有被赋值,所以值不确定。 “变量在未赋值之前的值是不确定的,特别的,它不一定等于零”--一本通P63 上面说的“变量”是非全局变量,这个地方要么将第四行中改为“ans=0”,要么将ans在int main前定义


by liedou @ 2023-03-21 23:12:49

@Xia3li 谢谢!


by C_chenxuyao @ 2023-04-02 18:16:17

应该将数组定义在int main()之前 ans也应该在定义的时候赋值为0.


by Wan__Ye__Chu @ 2023-04-12 21:30:44

1:ans应该改为ans=0 2:n+30>=a[i]后应该再减30


by 瑾阳2012 @ 2023-04-15 11:32:18

int a[11],ans,x;
for(int i=1;i<=10;i++){
    cin>>a[i];
}
cin>>x;
x=x+30;
for(int i=1;i<=10;i++){
    if(a[i]<=x){
        ans++;
    }
}
cout<<ans;
return 0;

|