c++ 练习系统cout负数但在之前cout其他就能正常显示

蓝桥练习网站上 为啥cout结果是负数 然后在前面cout一下就能正常显示

img

img

int a[n]要放到cin>>n值后,否则a数组无法正确分配空间

负数说明变量没有初始化,
int a[n]
可以写
int a[100]

这样

#include <iostream>
using namespace std;
int main()
{
    int n;
    cin >> n;
    int a[n+5];
    long long ans = 0;
    for(int i = 0;i < n; i++){
        cin >> a[i];
    }
    for(int i = 0 ;i < (n - 1); i++){
        for(int j = i + 1;j < n; j++){
            ans += a[i]*a[j];
        }
    }
    cout << ans;
    return 0;
}


不知道你这个问题是否已经解决, 如果还没有解决的话:

如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^