我正在尝试查找数组中的最大值。我得到了一组区域(输入),目前是:
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/