您的位置:首页 > 编程语言

南邮编程在线编程题十一:指针形参的使用,找数组中的最大最小元素值

2015-12-18 15:06 423 查看
编写程序,主函数中定义数组int array[10]={23,45,90,-9,43,90,4,2,-9};,调用函数Find,在该函数中通过一趟循环,找到数组中的第1个最大元素及对应下标,第1个最小元素及对应下标。
说明:(1)查找函数的原型为:void Find(int *a,int n,int *max,int *maxPos,int *min,int *minPos); 形参a用来接受主函数中的数组名,最后四个指针形参用于通过间接访问求最大元素、最大元素的下标、最小元素和最小元素的下标。

(2)主函数中的输出语句为:printf("max=%d, maxPos=%d, min=%d, minPos=%d\n",max,maxPos,min,minPos);

测试用例:无输入
测试用例:输出
max=90, maxPos=2, min=-9, minPos=3


代码如下:

#include <stdio.h>

void Find(int *a, int n, int *max, int *maxPos, int *min, int *minPos)
{
	int i;
	*min = a[0];
	*minPos = 0;
	*max = a[0];
	*maxPos = 0;
	for (i = 0; i < n; ++i) {
		if (a[i] < *min) {
			*min = a[i];
			*minPos = i;
		}
		if (a[i] > *max) {
			*max = a[i];
			*maxPos = i;
		}
	}
}

int main()
{
	int array[10] = {23,45,90,-9,43,90,4,2,-9};
	int max, maxPos, min, minPos;
	Find(array, 10, &max, &maxPos, &min, &minPos);
	printf("max=%d, maxPos=%d, min=%d, minPos=%d\n", max, maxPos, min, minPos);
	return 0;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: