以下是用C语言实现求一维数组a[20]中最大值及其位置的代码:
#include
int main() {
int a[20] = {3, 7, 10, 6, 8, 15, 20, 12, 5, 2, 17, 9, 11, 4, 1, 16, 19, 13, 14, 18};
int max = a[0];
int maxIndex = 0;
for (int i = 1; i < 20; i++) {
if (a[i] > max) {
max = a[i];
maxIndex = i;
}
}
printf("数组中的最大值为%d,它的位置是%d\n", max, maxIndex);
return 0;
}
复制代码
这段代码首先定义了一个包含20个元素的数组a,并将其初始化。然后定义了两个变量max和maxIndex,用来保存最大值及其位置。接下来通过for循环遍历整个数组,找到其中的最大值以及它的位置,并分别赋值给max和maxIndex变量。最后输出最大值及其位置。
需要注意的是,本代码中默认数组中的元素是非负数。如果有负数的话,需要在初始化max变量的时候将其设为一个比数组中任意一个数都小的数,例如INT_MIN(C语言中定义在头文件中的常量),以确保能够正确找到最大值。
|