Annette_wang 2021-03-09 13:40 采纳率: 91.7%
浏览 88
已采纳

输入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;
}
  • 写回答

3条回答 默认 最新

  • cpp_learners 2021-03-09 14:26
    关注

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

    错误二:不是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;
    }
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?

悬赏问题

  • ¥15 Qt下使用tcp获取数据的详细操作
  • ¥15 idea右下角设置编码是灰色的
  • ¥15 全志H618ROM新增分区
  • ¥15 在grasshopper里DrawViewportWires更改预览后,禁用电池仍然显示
  • ¥15 NAO机器人的录音程序保存问题
  • ¥15 C#读写EXCEL文件,不同编译
  • ¥15 MapReduce结果输出到HBase,一直连接不上MySQL
  • ¥15 扩散模型sd.webui使用时报错“Nonetype”
  • ¥15 stm32流水灯+呼吸灯+外部中断按键
  • ¥15 将二维数组,按照假设的规定,如0/1/0 == "4",把对应列位置写成一个字符并打印输出该字符