C:将多个区域读入数组并求最大值

标签 c arrays loops

我正在尝试查找数组中的最大值。我得到了一组区域(输入),目前是:

4.5
19.59
1.92

需要使用 scanf 将这些区域读入数组,然后从那里我需要找到该数组中的最大值(区域)。还应该知道,最多只能读取 100 个区域到数组中。所以稍后我可能需要将 5 或 20 或 99 等读入数组。

如果有人可以帮助我,我将不胜感激,我是编程新手,真的不知道从哪里开始。

最佳答案

#include <stdio.h>
#include <ctype.h>

int main(void){
    double v, max_v = 0.0, array[100];
    int i = 0, n, state;

    while(i < 100){
        if(EOF == (state = scanf("%lf", &v)))
            break;
        else {
            int ch, invalid = 0;
            while((ch = fgetc(stdin))!='\n' && ch != EOF){
                if(!isspace(ch))
                    invalid = 1;
            }
            if(invalid || v < 0)
                printf("invalid!\n");//skip
            else {
                array[i++] = v;
                if(max_v < v)
                    max_v = v;
            }
        }
    }
    n = i;
    for(i = 0; i < n; ++i){
        printf("%f\n", array[i]);
    }
    printf("Largest area = %f\n", max_v);

    return 0;
}

关于C:将多个区域读入数组并求最大值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29865354/

相关文章:

java - 使用数组方法java计算和显示字符串中的元音

在指定时间(以毫秒为单位)后停止的 C 函数

c - 如何在 C 中从 .txt 文件读取数字

JAVA:文字游戏查询

c - 循环时求平均值,总和不会清除,因此会不断添加上一个循环条目中的数字

java - 在 Android Room 中我可以循环遍历所有记录吗

java - 文件读取期间无限循环且 String.split() 无法正常工作

c - 我在c中实现循环链​​表的情况是否太多了

c - printf ("%c"的含义,**++argv);?

javascript - 如何使用 Firestore 更新 "array of objects"?