输入n值后,输入n个数,求平均数,但是程序可以运行,但不出结果,问题在哪?

#include <iostream>
using namespace std;
int main()
{
    int n;
    double sum=0;
    cin>>n;
    int a[n];
    for( int i=0;0<n;i++){
           cin>>a[i];
       sum =sum+a[i];

    }
    cout<<sum/n;
    return 0;
}

 

错误一: 变量不可以作为定义数组指定的个数

错误二:不是0 < n ; 是 i < n

#include <iostream>
using namespace std;
int main() {
	int n;
	double sum = 0;
	//cin >> n;

	// int a[n];	// 变量不可以作为定义数组指定的个数

	int a[5];	// 必须是常量;如果不知个数,可以使用容器vector动态数组进行存储
	n = sizeof(a) / sizeof(a[0]);

	for (int i = 0; i < n; i++) {	// i < n
		cin >> a[i];
		sum = sum + a[i];

	}
	cout << sum / n;
	return 0;
}

for循环的结束条件有问题,应该是i < n ; 而不是 0  < n  

很好奇程序怎么可以执行的。

#include <iostream>
using namespace std;
int main()
{
	int n;
	double sum = 0;
	cin >> n;
	int *a=new int[n];
	for (int i = 0; i<n; i++) {
		cin >> a[i];
		sum = sum + a[i];
	}
	cout << sum / n;
	delete[] a;
	return 0;
}