用C语言编写程序找出输入的n个数字中的最大值和最小值。要求程序运行时先获取n值

如题所述

#include
//为了方便返回,使用结构体存储最大值和最小值
typedef struct {
int Max;
int Min;
}MaxMin;
//函数参数array:数组,length:数组长度。
//这里其实可以把最大值最小值作为指针传进去的。
MaxMin GetMaxMin(int *array, int length)
{
int i;
MaxMin maxMin;
if (length <= 0)
return maxMin;
//初始化最大值和最小值为数组第一个数
maxMin.Max = array[0];
maxMin.Min = array[0];
for (i = 0; i < length; i++) {
if (array[i] >= maxMin.Max)
maxMin.Max = array[i]; //比当前最大值大,修改最大值
if (array[i] <= maxMin.Min)
maxMin.Min = array[i]; //比当前最小值小,修改最小值
}
return maxMin;
}
//主函数测试
int main() {
int length;
int i;
int *array;
printf("input length of array:");
scanf("%d", &length);
array = (int *)malloc(sizeof(int)*length);
for (i = 0; i < length; i++) {
printf("input data of array(index %d):", i + 1);
scanf("%d", array + i);
}
MaxMin maxMin = GetMaxMin(array, length);
printf("Max:%d,Min:%d", maxMin.Max, maxMin.Min);
return 0;
}
温馨提示:答案为网友推荐,仅供参考
相似回答