gpt4 book ai didi

我可以在不知道数组大小的情况下输入数组吗?存储未知输入大小的其他方法?(C)

转载 作者:行者123 更新时间:2023-11-30 19:10:48 25 4
gpt4 key购买 nike

我需要创建一个程序来接收成绩,然后执行平均值和中位数等操作。输入将是一个接一个的成绩,并在输入 -1 时结束。我不知道事先会输入多少成绩。我怎样才能有效地做到这一点?即使我不知道会有多少个对象,我可以将其设为数组吗?我不能使用 vector 等,它不在允许的 Material 中。如果不可能,否则我该怎么做?谢谢

最佳答案

您可以使用动态分配的内存。但不确定您的情况是否允许这样做。数组不行;当问题表明“我们不知道我们会得到多少输入”,而没有对合理的最大值进行任何估计时,这意味着任何具有预定大小的内容都将是错误的。

您真的需要将所有数据存储在某个地方吗?除了平均值和中位数之外还需要计算什么?如果您有一个实际的集合,则需要对其进行排序以找到中位数,这是相当昂贵的。

考虑解决这个问题的替代方法。

平均很简单,将成绩总和除以计数;无需保留任何特定的成绩输入即可做到这一点。

至于中位数,既然我们谈论的是成绩,我想它们不能只是任何数字,对吧?它们可能是 1 到 4 之间的整数,或者您可能有 1.5,但不是 1.25?这取决于输入限制,但如果您只能有 1、2、3、4、5、6 等等级,为什么不创建一个包含六个元素的数组并只计算每个等级的出现次数。了解输入的总成绩后,您可以找到中位数。

关于我可以在不知道数组大小的情况下输入数组吗?存储未知输入大小的其他方法?(C),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40948559/

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