C小题目-输入10个数,要求输出其中值最大的元素和该数是第几个数

#include <stdio.h>

int max(int x,int y){
    return x>y?x:y;
};

int main(){
    int a[10];

    int i,m,n;
    for(i=0;i<10;i++){
        printf("请输入第%d个数:",i);
        scanf("%d",&a[i]);
    };

    for(i=0,m=a[0],n=0;i<10;i++){
        if(max(m,a[i])>m){
            m=max(m,a[i]);
            n=i;
        };
    };

    printf("最大值:%d,数组下标:%d,第%d数\n",m,n,n+1);

    return 0;
};
结果:
请输入第0个数:11
请输入第1个数:56
请输入第2个数:889
请输入第3个数:13
请输入第4个数:896
请输入第5个数:321
请输入第6个数:99
请输入第7个数:561
请输入第8个数:999
请输入第9个数:163
最大值:999,数组下标:8,第9个数

Process returned 0 (0x0)   execution time : 14.040 s
Press any key to continue.
理解:
重点在于第二个for循环语句
m代表着a数组的最大值,n代表着当前是第几个数
随后进入if判断语句,传值调用函数max,先把m和当前数组值传递到函数中进行判断大小
随后在进行判断是否大于m
如果位true则把当前的数组值重新赋值给m,以及重新赋值i
posted @ 2024-11-11 10:22  昵-称  阅读(90)  评论(0)    收藏  举报