用C语言实现:输入一个包含 n个整数的数组 a ,求数组中两个不同下标的数 a[i] 和 a[j] (i≠j ),使得 a[i]×a[j] 的值最大。
时间: 2023-05-29 18:01:13 浏览: 84
C语言实验-有3个整数a,b,c,由键盘输入,输出其中最大的数(或最小的数)。
可以用两层循环遍历数组中的每一对不同的数,比较它们的乘积是否大于之前的最大乘积,如果是则更新最大乘积和对应的下标:
```c
#include <stdio.h>
int main() {
int n, a[100], max_product = -1, max_i, max_j;
scanf("%d", &n);
for (int i = 0; i < n; i++) {
scanf("%d", &a[i]);
}
for (int i = 0; i < n-1; i++) {
for (int j = i+1; j < n; j++) {
int product = a[i] * a[j];
if (product > max_product) {
max_product = product;
max_i = i;
max_j = j;
}
}
}
printf("Max product %d achieved at indices %d and %d\n", max_product, max_i, max_j);
return 0;
}
```
阅读全文