HUSTOJ 1023: 最大值和最小值

来源:互联网 发布:手机erp软件 编辑:程序博客网 时间:2024/05/17 08:29

Description

任意输入n个整数,把它们的最大值,最小值求出来.

Input

输入只有一行,包括一个整数n(1<=n<=20),后面跟着n个数.

Output

输出只有一行,包括2个整数。

Sample Input

5 1 99 3 6 0

Sample Output

99 0

算法思想:这是一个比较简单的题目,然而这个题目里面有一个比较容易让人忽略的知识。就是

初始赋值时,MAX,MIN的赋值。因为是查找最大值和最小值。所以MAX应该是int类型的最小值,对

应的MIN应该就是int类型的最大值。用代码表示就是:int max=0x8fffffff,min=0x7fffffff;

0x8fffffff是32位二进制数所表示的最小负数,而0x7fffffff是32位二进制数表示的最大正数。

完整代码如下:

<span style="font-family:Times New Roman;">#include<cstdio>#include<cassert>#define N 3int main(){  int num,i,*p;  int max=0x8fffffff,min=0x7fffffff;  scanf("%d",&num);  assert(num>=1 && num<=20);  p=new int[num];  for(i=0;i<num;i++)  scanf("%d",&p[i]);  for(i=0;i<num;i++){      if(max<p[i])  max=p[i];  if(min>p[i])  min=p[i];  }  delete p;        printf("%d %d\n",max,min);   return 0;}</span>


0 0
原创粉丝点击