gpt4 book ai didi

c - 从 C 中的数组中查找最大值和最小值

转载 作者:行者123 更新时间:2023-11-30 18:24:39 26 4
gpt4 key购买 nike

该程序的目的是读取一维数组中的 10 个 double 值,然后从数组中搜索最大和最小值并将其打印在标准输出上。我尝试在纸上写一些伪代码来帮助我更好地理解这个问题,到目前为止,我认为有效的是一个使用 if 语句检查最小值和最大值的函数。由于我缺乏 C 知识,我不确定使用带有数组的函数的正确格式。如果你能给我一个使用数组的函数应该是什么样子的框架,那就太好了,因为我想学习和尝试该程序。
下面我附加了主程序,该程序循环 10 次并将用户输入收集为数组:

#include<stdio.h>

// main program
int main() {
int i;
double num[10];
for (i = 1; i <= 10; i++) {
printf("Enter a number: ");
scanf("%lf",&num);
}
return 0;
}

最佳答案

scanf("%lf",&num);将调用未定义的行为,因为 double(*)[10]已传递到 double*预计。

如果你想使用数组,你应该读取每个元素。请注意,C 中的数组索引从 0 开始,而不是从 1 开始。您还应该检查读取是否成功。

#include<stdio.h>

// main program
int main(void){
int i;
double num[10];
for (i=1;i<=10;i++){
printf("Enter a number: ");
if (scanf("%lf",&num[i - 1]) != 1){
puts("read error");
return 1;
}
}
// calculate max and minimum values and print them
return 0;
}

或者此代码使用看起来更好的范围 i .

#include<stdio.h>

// main program
int main(void){
int i;
double num[10];
for (i=0;i<10;i++){
printf("Enter a number: ");
if (scanf("%lf",&num[i]) != 1){
puts("read error");
return 1;
}
}
// calculate max and minimum values and print them
return 0;
}

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

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