求n个数的最值

来源:互联网 发布:湖北卓腾网络 编辑:程序博客网 时间:2024/06/07 09:41

法一、临界值比较法

代码目的:求n个正整数的最值

代码思想:与临界值相比较

代码解析:

#include<stdio.h>
int main()
{
 int n;
 scanf("%d",&n);                   //定义比较的数的个数
 int a,i,max=1,min=10000;   //设定临界值(该临界值是随意取的,重点是体会该思想,具体看应用需求自由设定)
 while(n--)
 {
  scanf("%d",&a);
  if(a>max)                          //将每一个数值与初始化过的最大值比较,进而一步一步得出最大值;
  max=a;
  if(min>a)                          //将每一个数值与初始化过的最小值比较,进而一步一步得出最小值;
  min=a;
 }
 printf("%d %d\n",min,max);
 return 0;
 }


法二、冒泡排序法

代码目的:求n个正整数的最值

代码思想:冒泡排序法(建议在理解的基础上,记住(背会)冒泡,很实用)

代码解析:

#include<stdio.h>
int main()
{
 int n;
 scanf("%d",&n);
 int a[n],i,j,t;
 for(i=0;i<n;i++)
 scanf("%d",&a[i]);
 for(j=1;j<n;j++)
 for(i=0;i<n-j;i++)
 {
  if(a[i]<a[i+1])                  //比较数的大小,进行置换排列,并以此按照从大到小排列进入数组;
  {
   t=a[i];
   a[i]=a[i+1];
   a[i+1]=t;
  }
 }
 printf("%d %d\n",a[n-1],a[0]);
 return 0;
 }

原创粉丝点击