1.(20分) 找最值
从键盘任意输入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”
#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 max_pos;
int min_pos;
int max;
int min;
int i;
printf("Input 10 numbers:\n");
for(i=0;i<10;i++)
scanf("%d",&num[i]);
max=FindMax(num,10,&max_pos);
min=FindMin(num,10,&min_pos);
printf("Max=%d,Position=%d,Min=%d,Position=%d\n",max,max_pos,min,min_pos);
}
int FindMax(int num[], int n, int *pMaxPos)
{
int i,max=num[0];
*pMaxPos=0;
for(i=0;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=0;i<n;i++)
{
if(num[i]<min)
{
min=num[i];
*pMinPos=i;
}
}
return min;
}