#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
标签:10,第几个,int,max,个数,小题目,数组,输入
From: https://www.cnblogs.com/blueBear-19210723/p/18539221