【发布时间】:2022-01-12 22:41:31
【问题描述】:
我在 c 中有一个程序可以在数组中找到第一个和第二个最大值,但我想获取这些元素的索引。这是我的代码:
#include <stdio.h>
int main(){
int max1,max2,n;
scanf("%d",&n);
int a[n],i;
int i_m1,i_m2;
i_m1 = i_m2=0;
for(i = 0;i < n;i++){
scanf("%d",&a[i]);
}
max1 = max2 = 0;
for(i = 0;i < n;i++){
if(a[i]>max1){
max1=a[i];
//i_m1++;
} else if(a[i]>max2 && a[i]<max1){
max2=a[i];
//i_m2++;
}
}
printf("%d %d\n",max1,max2);
//printf("%d %d\n",i_m1,i_m2);
for(i = 0;i < n;i++){
printf("%d ",a[i]);
}
return 0;
}
我首先输入数组中元素的数量,然后输入数组。
例如,如果我有一个数组
number of elements: 5
elements in array:
3 4 2 5 1
indexes:
0 1 2 3 4
max1=5, max2=4
i_m1=3, i_m2=1
如何获取索引 i_m1 和 i_m2 ?
【问题讨论】:
-
你不想做
i_m1++;,你想做i_m1 = i;
标签: arrays c algorithm for-loop max