找最值 从键盘任意输入10个整数,用指针变量作函数参数编程计算最大值和最小值,并返回它们所在数组中的位置。函数原型如下所示: int FindMax(int num[], int n, int *pMaxPos);//函数返回最大值,pMaxPos返回最大值所在的下标 int FindMin(int num[], int n, int *pMinPos);//函数返回最小值,pMaxPos返回最小值所在的下标 程序运行结果示例: Input 10 numbers: -1 2 3 45 92 8 9 12 7 8↙ Max=92,Position=4,Min=-1,Position=0 输入格式: "%d" 输出格式: 提示信息:"Input 10 numbers:\n" 输出结果:"Max=%d,Position=%d,Min=%d,Position=%d\n"
时间: 2024-02-19 20:58:09 浏览: 53
以下是代码实现:
```
#include <stdio.h>
int FindMax(int num[], int n, int *pMaxPos);
int FindMin(int num[], int n, int *pMinPos);
int main() {
int num[10];
int i, maxPos, minPos, max, min;
printf("Input 10 numbers:\n");
for (i = 0; i < 10; i++) {
scanf("%d", &num[i]);
}
max = FindMax(num, 10, &maxPos);
min = FindMin(num, 10, &minPos);
printf("Max=%d,Position=%d,Min=%d,Position=%d\n", max, maxPos, min, minPos);
return 0;
}
int FindMax(int num[], int n, int *pMaxPos) {
int i, max = num[0];
*pMaxPos = 0;
for (i = 1; i < n; i++) {
if (num[i] > max) {
max = num[i];
*pMaxPos = i;
}
}
return max;
}
int FindMin(int num[], int n, int *pMinPos) {
int i, min = num[0];
*pMinPos = 0;
for (i = 1; i < n; i++) {
if (num[i] < min) {
min = num[i];
*pMinPos = i;
}
}
return min;
}
```
程序输入10个整数后,分别调用 `FindMax` 和 `FindMin` 函数,计算最大值和最小值,并将它们所在的下标保存在 `maxPos` 和 `minPos` 指针变量中。最后,将计算结果输出即可。
阅读全文