gpt4 book ai didi

c - 用数组求和,最小值,最大值

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

编写一个程序,输入多个值,然后在循环中一个一个地输入这些值(double类型),最后输出它们的总和、最大值和最小值。

我写了这个作业的代码,但我得到了错误

#include <stdio.h>

int main(void)
{
float a;
float i;
short c;
float sum;
float nu[];

i=nu[];

printf("Number of values :");
scanf("%f",&i);

for (c=1;i>=c;c++)
{
printf("values=");
scanf("%f",&nu[c]);

sum = sum + nu[c];
// printf("Sum = %f\n",sum);
}

printf("sum = %f \n",sum);
// printf("Number of values :");
// scanf("%f",&i);
}

错误是 number.c:在函数“main”中:number.c:9: 错误:‘nu’中缺少数组大小number.c:11: 错误:']' 标记前的预期表达式

最佳答案

在 C 中,您需要指定数组的大小,例如 float nu[100];但是如果您认为需要存储所有这些值,那您就找错了树。最小值、最大值和总和都可以即时计算,无需返回并检索任何以前的数字。

您需要做的就是一次输入一个,对于每个:

  • 如果它是第一个或更高的当前高点,则将当前高点设置为它。
  • 如果它是第一个或更低的当前低点,则将当前低点设置为它。
  • 将其加到总和中。

顺便说一句,应该将总和初始化为零。

在伪代码方面,从这个开始:

set sum, high and low all to zero

scan "number of values" into count

for curr = one to count, inclusive:
scan "current number" into num

set sum to sum + num

if curr is one, or num is less than low:
set low to num

if curr is one, or num is greater than high:
set high to num

output "Minimum = " low
output "Maximum = " high
output "Sum = " sum

理解它的最好方法是拿一张(非常非技术性的)纸并写下这样的表格:

+-----+------+-----+-----+-------+------+
| sum | high | low | num | count | curr |
+-----+------+-----+-----+-------+------+
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
+-----+------+-----+-----+-------+------+

然后在您的头脑中逐步运行该程序,在运行过程中输入或更改该表中的值。您甚至可以检测到您何时使用未初始化的值,例如您是否遇到了 set sum to sum + curr。如果sum列为空。

您会惊讶于您开始像计算机一样思考的速度如此之快,只是希望它不会在此过程中将所有这些社交技能从您的脑海中挤出:-)

关于c - 用数组求和,最小值,最大值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3547633/

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