从一组数中取得最小数和次小数

1、对数组的引用可以用这样的方式:int (&array)[SIZE] //注意,必须要把大小(SIZE)定下来,否则编译器报错!
呵呵,我也用这种方式来排版代码。
2、从这个例子中可以看到数学公式的重要性了。
即如果要从一列数中找一个最小数和次小数,必须满足 “minest<miner<其他数”



代码区:











#include <stdio.h>


#define SIZE 10


void MinestAndMiner(int (&a)[SIZE],int &s1,int &s2)
{
int Minest=0X7FFFFFFF;
int Miner=0X7FFFFFFF;
int x_Minest(-1),x_Miner(-1);
for(int i=0;i<SIZE;i++)
{
   if(a[i]<Minest)
   {
    x_Miner=x_Minest;
    x_Minest=i;
    Miner=Minest;
    Minest=a[i];
   }
   else
    if(a[i]<Miner)//
Min_0<Min_1<a[i]
    {
     x_Miner=i;
     Miner=a[i];
    }
}
s1=x_Minest;
s2=x_Miner;


}


void main()
{
int a[]={2,1,3,4,12,0,32,213,3,4};
int * b=a;
int x1,x2;
MinestAndMiner(a,x1,x2);
printf("
最小数a[%d]=%d--次小数a[%d]=%d\n",x1,a[x1],x2,a[x2]);
}




评论

此博客中的热门博文

Linux/ARM Page Table Entry 属性设置分析

由RFE指令引发的一串故事

提交了30次才AC ---【附】POJ 2488解题报告