gpt4 book ai didi

计算数组的平均值

转载 作者:太空宇宙 更新时间:2023-11-04 00:29:04 25 4
gpt4 key购买 nike

#include<stdio.h>
#include<stdlib.h>
double mean(int i, int arr[])
{
int j, sum = 0;
for (j = 0; j < i; j++)
{
sum = arr[j] + sum;
}
return (float)sum/i;
}
int main()
{
int arr[100] = { NULL };
int i, n, sum = 0;
printf("How many numbers would you like to enter?");
scanf_s("%d", &n);
while (n > 100 || n < 0)
{
printf("Amount of numbers should be less than 0 and more than 100\n");
scanf_s("%d", &n);
}
for (i = 0; i < n; i++)
{
scanf_s("%d", &arr[i + 1]);
}
printf("%f", mean(i-1, arr[i]));
system("pause");
}

当我运行代码时,出现读取访问错误。问题出在我创建的 mean() 函数上,但我不知道出了什么问题。帮忙?

最佳答案

When I run the code it gives me a read access error. The problem is with the mean() function

虽然mean() 函数产生读取访问错误,但实际问题出在这里:

printf("%f", mean(i-1, arr[i]));

您不是将数组传递给您的函数,而是传递它的元素(它也是已写内容末尾的一个元素,因此即使您传递的值也是未定义的)。

长度需要传i,因为你的mean()把它当做排他的上限,你还需要传arr 数组:

printf("%f", mean(i, arr));

读取数据时的索引问题也需要修复 - 您需要删除 + 1:

scanf_s("%d", &arr[i]);
// ^

关于计算数组的平均值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37508133/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com