从一组数中取得最小数和次小数
1、对数组的引用可以用这样的方式:int (&array)[SIZE] //注意,必须要把大小(SIZE)定下来,否则编译器报错!
呵呵,我也用这种方式来排版代码。
2、从这个例子中可以看到数学公式的重要性了。
即如果要从一列数中找一个最小数和次小数,必须满足 “minest<miner<其他数”
代码区:
#include <stdio.h> #define SIZE 10 void MinestAndMiner(int (&a)[SIZE],int &s1,int &s2) } void main()
{
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;
{
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]);
}
评论
发表评论