永发信息网

c语言选择法整数数组排序(改错) #include<stdio.h> void main () {int a[n],n,i,j,m; printf("请输入n个

答案:4  悬赏:80  手机版
解决时间 2021-11-11 07:39
c语言选择法整数数组排序(改错) #include<stdio.h> void main () {int a[n],n,i,j,m; printf("请输入n个
最佳答案
选择法排序是一种简单的容易实现的对数据排序的算法。
以整形数组元素为例,有数组A[10](以C语言为例描述),即A[0],A[1],…,A[8],A[9](假设其元素均互不相同)。要求对其元素排序使之递增有序。
首先以一个元素为基准,从一个方向开始扫描,比如从左至右扫描,以A[0]为基准。
接下来从A[1],…,A[9]中找出最小的元素,将其与A[0]交换。
然后将基准位置右移一位,重复上面的动作,比如,以A[1]为基准,找出A[1]~A[9]中最小的,将其与A[1]交换。
一直进行到基准位置移到数组最后一个元素时排序结束(此时基准左边所有元素均递增有序,而基准为最后一个元素,故完成排序)。
以下为一个用C描述的函数实现上述排序:
void sort(int array[],int n)
{ // n 为数组元素个数
int i,j,k,temp; // i 为基准位置,j 为当前被扫描元素位置,k 用于暂存出现的较小的元素的位置
for(i=0;i {k=i;//初始化为基准位置
for(j=i+1;j {
if (array[j] } //for
if(k!=i)
{ temp=array[i];
array[i]=array[k];
array[k]=temp; // 将此趟扫描得到的最小元素与基准互换位置
}
}
}
全部回答
#include
void main()
{
int a[10];
int i,j,t;
for(i=0;i<10;i++)
scanf("%d",&a[i]);
for(j=0;j<9;j++)
for(i=0;i<9-j;i++)
if(a[i]>a[i+1])
{
t=a[i];
a[i]=a[i+1];
a[i+1]=t;
}
for(i=0;i<10;i++)
printf("%d",a[i]);
}
用冒泡法解决挺方便的,程序如下:
#include
void main()
{
int a[10];
int i,j,t;
for(i=0;i<10;i++)
scanf("%d",&a[i]);
printf("\n");
for(j=0;j<9;j++)
for(i=0;i<9-j;i++)
if(a[i]>a[i+1])
{
t=a[i];
a[i]=a[i+1];
a[i+1]=t;
}
for(i=0;i<10;i++)
printf("%d",a[i]);
}
你的题目不完整
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
高考305分。可以读哪些比较好一点的二专?
4号鱼线和5号鱼线有什么区别
解关于x的不等式x²+(3a-1)x+2a(a-1)
初中生不住校照顾爷奶奶申请书
看小猫.小熊和小兔要进行赛车比赛了,它们的比
jz68y.t方太有这一款吗?
为什么有时糊涂,有时清醒,都3月了有时整
j罗2014世界杯进球数
大学电磁学
办公室一共三个人,工作很闲,多数时间在闲聊
晚安wan an 是什么意思啊!
wow 怎么解除未满15岁啊
我是油性皮肤,洗完头才一天,头发就会很油的
iphonex截屏界面是怎样的
HXD1型电力机车的介绍
推荐资讯
SPT洗咖城市体验店地址有知道的么?有点事想
速滑冰刀怎么外刃出刀内刃蹬
请教个问题,有10个电暖器,单个功率是1600w
质子和中子,电子和夸克哪个比较大
文忠惊喜,以为异人,欲以冠多士翻译
用竖式计算并验算.514÷3= 784÷7= 386
张家界猛洞河漂流,提不提供雨衣啊,没有的话
我落枕了脖子一直在抽触怎么办
酱香饼什么时候放芝麻
在电影兵人里,演康妮儿子的小男孩叫什么?
苏州水墨同里离到柳州有多少路程
求教各位大佬,英特尔320的120g的固态如何
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?