c - 将 n 个整数添加到非固定数组

标签 c arrays for-loop while-loop eof

我一直在寻找解决方案,但没有找到任何东西。

我需要一个程序,它接受用户输入(随机数量的整数)直到 EOF,将它们相加并返回平均值。

我尝试使用数组,但我不确定我的错误是什么。 我设法让它与固定大小的数组一起工作。但我需要一个灵活的..这可能吗?

这是我到目前为止得到的:

#include <stdio.h>

int main()
{
  int count = 3;
  int numbers[count];
  long sum;
  float average;
  int i;
  for (i = 0; i < count; i++) {
    while (scanf("%d", &numbers[i]) != EOF) {
        sum += numbers[i];
    }
  }
  average = (float)sum/count;
  printf("Average of your numbers is: %.2f\n",average);
  return 0;
}

最佳答案

如果您只是想找到平均值,那么您不需要实际存储这些数字。

int count = 0;
int sum = 0;
int num = 0;
double avg = 0.0;

for(; scanf("%d", &num) != EOF; sum += num, count++)
    ;

avg = sum / count;

关于c - 将 n 个整数添加到非固定数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26492605/

相关文章:

c - 如何设计一个易于导入的全局 float 组

c - 如何在 Windows 10 中使用 Code::Blocks 16.01 计算 -O3 的时钟周期?

javascript - 匹配多个数组中的值

arrays - 确定数组是否包含 n...n+m 的算法?

java - 尝试创建使用两个用户输入值的嵌套 for 循环

c - 从 ASM 返回一个 int*

c - C编译器是否为用于声明数组的变量名分配内存?

javascript - 使用 Javascript/JQuery 迭代 JSON 响应

javascript - 从两个循环中获取增量数

PHP MySQL : issue using php for and mysql query