12. 求最大数最小数
2019-01-09 本文已影响0人
IceFrozen
题目描述
输入N个(N<=10000)数字,求出这N个数字中的最大值和最小值。每个数字的绝对值不大于1000000。
输入描述:
输入包括多组测试用例,每组测试用例由一个整数N开头,接下去一行给出N个整数。
输出描述:
输出包括两个整数,为给定N个数中的最大值与最小值。
示例1
输入
5
1 2 3 4 5
3
3 7 8
输出
5 1
8 3
解法
#include<stdio.h>
#include<malloc.h>
int max(int *num, int k){ //求数组中最大值
if(k > 0){
int max = num[0];
for(int i = 1; i < k; i++){
if(num[i] > max)
max = num[i];
}
return max;
}
}
int min(int *num, int k){ //求数组中最小值
if(k > 0){
int min = num[0];
for(int i = 1; i < k; i++){
if(num[i] < min)
min = num[i];
}
return min;
}
}
int main(){
int k = 0;
while(scanf("%d", &k) != EOF){
int *num = (int *) malloc (sizeof(int) * k); //动态分配数组
for(int i = 0; i < k; i++){
scanf("%d", &num[i]);
}
printf("%d %d\n", max(num, k), min(num, k));
free(num);
}
return 0;
}