我是靠谱客的博主 健康黑猫,最近开发中收集的这篇文章主要介绍C语言最小最大值位置,C语言问题,按照最小值,最大值,次小值,次大值等等依次排列...,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

该楼层疑似违规已被系统折叠 隐藏此楼查看此楼

我在学C++,当练习了,看别人不带注释的代码是很蛋疼的事情你知道

#include

#define N 9 //N=9

void fun(int a[],int n) //函数fun的定义

{ int i,j,max,min,px,pn,t; // 用到的变量

for(i=0;i

//最后一次找出两个最后一个也确定了,这里是第7个,i=6最后一次

{max=min=a[i]; // 先都默认为第一个数

px=pn=i; // px、pn用来存放最后交换前的指针序号,初始都默认为剩余的第一个

for(j=i+1;j

if(max

{max=a[j];px=j;} //找出剩余最大值位置记在px,数值赋值给max

if(min>a[j])

{min=a[j];pn=j;} //找出剩余最小值位置记在pn,数值赋值给min

}

if(pn!=i) //判断最小值是否需要交换

{t=a[i];a[i]=min;a[pn]=t; //交换过程,其实可以用a[pn]=a[i];a[i]=min;

if(px==i)px=pn; //如果剩余的第一个为剩余中最大,交换后它的值已经到了交换前

//最小值的位置

}

if(px!=i+1) //判断最大值是否需要交换

{t=a[i+1];a[i+1]=max;a[px]=t;} //交换过程同上

}

}

main() //主函数

{ int b[N]={9,1,4,2,3,6,5,8,7},i;

printf("nThe original data:n");

for(i=0;i

printf("n"); //先直接把固定要处理的数显示出来,毕竟是个例子

fun(b,N); //调用fun开始处理

printf("nThe data after moving:n");

for(i=0;i

printf("n");

}

最后

以上就是健康黑猫为你收集整理的C语言最小最大值位置,C语言问题,按照最小值,最大值,次小值,次大值等等依次排列...的全部内容,希望文章能够帮你解决C语言最小最大值位置,C语言问题,按照最小值,最大值,次小值,次大值等等依次排列...所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(33)

评论列表共有 0 条评论

立即
投稿
返回
顶部