/*给题目为定义外部函数 求数组中的最大值、最小值及其位置
关于数据的传递方式*/
#include <stdio.h>
FindMax(int num[], int n, int *pMaxPos,int *pmax);
int FindMin(int num[], int n, int *pMinPos);
main()
{
int num[10], maxValue, maxPos, minValue, minPos, i;
printf("Input 10 numbers:\n");
for (i=0; i<10; i++)
{
scanf("%d", &num[i]);
}
FindMax(num, 10, &maxPos,&maxValue);
minValue = FindMin(num, 10, &minPos);
printf("Max=%d, Position=%d, Min=%d, Position=%d\n",
maxValue, maxPos, minValue, minPos);
}
FindMax(int num[], int n, int *pMaxPos,int *pmax)
{
int i;
*pmax = num[0];
*pMaxPos = 0;
for (i = 1; i < n; i++)
{
if (num[i] > *pmax)
{
*pmax= num[i];
*pMaxPos = i;
}
}
}
int FindMin(int num[], int n, int *pMinPos)
{
int i, min;
min = num[0];
*pMinPos = 0;
for (i = 1;i < 10;i++)
{
if (num[i] < min)
{
min = num[i];
*pMinPos = i;
}
}
return min ;
}
|
|