#include
#define N 9
void fun(int a[],int n)
{
int i,j,max,min,px,pn,t;
for(i=0;i
max=min=a[i];//求最大值和最小值
px=pn=i;//记录数组下标的位置
for(j=i+1;j
if(max {
max=a[j];//满足条件替换
px=j;//同时数组下标也替换
}
if(min>a[j])//后一个数与min作比较
{
min=a[j];//满足条件替换
pn=j;
}
}
if(px!=i)//判断px是不是等于第一个最大值数字的地址
{
t=a[i];//相当于每一个项数
a[i]=max;//符合条件就替换大for定义的第一个数组的数
a[px]=t;
if(pn==i)//如果最小值和开始定义的数相同,那么它就是最小的数
pn=px;
}
if(pn!=i+1)//同理,这是最小值的判断情况
{
t=a[i+1];
a[i+1]=min;
a[pn]=t;
}
}
}
void main()
{
int b[N]={1,4,2,3,9,6,5,8,7},i;
printf("\n输入:\n");
for(i=0;i
printf("\n");
fun(b,N);//调用fun函数
printf("\n输出:\n");
for(i=0;i
printf("\n");
}
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)