编写一个C程序,从用户那里接受一些整数,并找到最大值和输入位置

编写一个C程序,从用户那里接受一些整数,并找到最大值和输入位置,c,C,我输入了5个数字8,10,25,75100。如果我们参考If(数字[j]>max)=>(数字[0]>max)=>(8>0),结果可能是8。但确切的答案是100,为什么 #include <stdio.h> #define MAX 5 int main() { int number[MAX], i, j, max=0, num_pos=0; printf("Input 5 integers: \n"); for(i = 0; i < MAX; i++) { scanf(

我输入了5个数字8,10,25,75100。如果我们参考If(数字[j]>max)=>(数字[0]>max)=>(8>0),结果可能是8。但确切的答案是100,为什么

#include <stdio.h>
#define MAX 5
int main() 
{
int number[MAX], i, j, max=0, num_pos=0;
printf("Input 5 integers: \n");
for(i = 0; i < MAX; i++) {
    scanf(" %d", &number[i]);
}

for(j = 0; j < MAX; j++) 
{
    if(number[j] > max) {
        max = number[j];
        num_pos = j;
    }
}
printf("Highest value: %d\nPosition: %d\n", max, num_pos+1);
return 0;
}
#包括
#定义最大值5
int main()
{
整数[MAX],i,j,MAX=0,num_pos=0;
printf(“输入5个整数:\n”);
对于(i=0;i最大值){
max=数量[j];
num_pos=j;
}
}
printf(“最大值:%d\n位置:%d\n”,最大值,数量位置+1);
返回0;
}
如果我们参考If(number[j]>max)=>(number[0]>max)=>(8>0),结果可能是8

是的,
8>0
,这是第一次迭代

在下一个示例中,您将看到
10>8
,这也是正确的

直到您达到
100>75
,并且
100
将是最高的

如果我们参考If(number[j]>max)=>(number[0]>max)=>(8>0),结果可能是8

是的,
8>0
,这是第一次迭代

在下一个示例中,您将看到
10>8
,这也是正确的


直到您达到
100>75
,并且
100
将是最高的。

ps。虽然C区分大小写,但使用常量
MAX
和变量
MAX
可能是不好的形式。编译器知道它们是不同的,但人类在阅读时可能会暂时感到困惑。如果用户输入五个负数会发生什么?如果所有输入都是负数,则此代码会错误地将0报告为最大值。建议
int max=int_MIN
.ps。虽然C是区分大小写的,但是有一个常量
MAX
和一个变量
MAX
可能是不好的形式。编译器知道它们是不同的,但人类在阅读时可能会暂时感到困惑。如果用户输入五个负数会发生什么?如果所有输入都是负数,则此代码会错误地将0报告为最大值。建议
int max=int\u MIN