c语言利用数组求平均值

img


我想问一下一开始读进来了cnt,然后数组是不能被改变大小的,后面有cnt加1,那后面是怎么写来计算平均值的

看代码思路没有问题,但这里有一个点,数组是不允许这样定义的,编译时会报错,数组下标在定义时不能是变量,因为在编译期就要识别数组大小,变量在运行时才能赋值。
你的代码是想输入数组大小,然后根据数组大小依次给数组进行赋值,顺便记录所有数组赋值数字的和,
但是你的代码时有问题的,cnt是你设定的数组大小,你直接这样用已经数组越界了, 你应该新增一个变量,从0~cut-1依次给数组number赋初值啊。

img

你确定代码没有问题?number[cnt]=x下标都越界了,后面还一直cnt++

img


如果你要用number[cnt]的话,要看你的编译器支不支持,另外就是在使用数组的时候越界了。
我并不是很了解题目的具体要求,所以就按着你的,写了一下,你看看能不能帮到你

#include<stdio.h>
int main()
{
    int arr[] = { 0 };
    int s = 0;
    printf("输入数字数量\n");
    scanf("%d", &s);
    int i = 0;
    int sum = 0;
    for (i = 0; i < s; i++)
    {
        int num = 0;
        scanf("%d", &num);
        arr[0] = num;
        sum += arr[0];
        
    }
    printf("%.2f", sum / (s*1.0));
}

#include<stdio.h>
int main()
{
    int arr[100] = { 0 };
    int s = 0;
    printf("输入数字数量\n");
    scanf("%d", &s);
    int i = 0;
    int sum = 0;
    for (i = 0; i < s; i++)
    {
        int num = 0;
        scanf("%d", &num);
        arr[i] = num;
        sum += arr[i];
        
    }
    printf("%.2f", sum / (s*1.0));
}

你好, 请把你的程序贴到 ‘代码块’ 里面。 这样大家才好帮你。