在数组元素中找最大值及其所在下标位置。 #include <stdio.h> #define n=10; int FindMax(int num[], int n, int *pMaxPos); main() { int num[n], maxValue, maxPos, minValue, minPos, i; printf("Input %d numbers:\n",n); for (i=0; i<n; i++) { scanf("%d", &num[i]); } maxValue = FindMax(num, n, &maxPos); printf("Max=%d, Position=%d\n", maxValue, maxPos); } int FindMax(int num[], int n, int *pMaxPos) { int i, max = num[0]; for (i=1; i<n; i++) { if (num[i] > max) { max = num[i]; *pMaxPos = i; } } return max; }
时间: 2024-03-11 18:44:25 浏览: 26
这是一个在数组中寻找最大值及其所在下标位置的程序。它实现了一个名为FindMax的函数,该函数接受一个整型数组和其长度,以及一个指向最大值所在下标位置的指针。该函数遍历整个数组,在找到最大值时,将其位置存储在指针所指向的变量中,并返回最大值。
在程序中,首先定义了一个长度为10的整型数组num,并提示用户输入10个数字。然后调用FindMax函数,将最大值和其所在位置打印出来。
相关问题
计算数组最大值及最大值下标。数组最多30个元素,数组元素个数n由键盘输入。 请按如下框架编程,在“......”的位置添加缺失的语句,使程序完整。 #include <stdio.h> void Input(int a[], int n); int Findmax(int a[], int n, int *pos); int main() { int n, a[30]; int maxNum;//存放数组最大值 int maxPos;//存放最大值下标 printf("Input n:"); scanf("%d", &n); Input(a, n); ...... printf("The maximum subscript is:%d,The maximum value is:%d\n", maxPos, maxNum); return 0; } //读入数组元素的值 void Input(int a[], int n) { int i; for (i = 0; i < n; i++) { scanf("%d", &a[i]); } } //计算数组最大值及最大值下标 int Findmax(int a[], int n, int *pos) { int i, maxNum; *pos = 0; maxNum = a[0]; ... ... }
//计算数组最大值及最大值下标
int Findmax(int a[], int n, int *pos) {
int i, maxNum;
*pos = 0;
maxNum = a[0];
for (i = 1; i < n; i++) {
if (a[i] > maxNum) {
maxNum = a[i];
*pos = i;
}
}
return maxNum;
}
//在main函数中调用Findmax函数
maxNum = Findmax(a, n, &maxPos);
阅读全文