这是什么意思?!帮忙解释一下!

输入一个正整数n(1<n<=10),再输入n个整数,用选择法将他们从小到大排序后输出!#include<stdio.h>intmain(void){inti,index,... 输入一个正整数n(1<n<=10), 再输入n个整数,用选择法将他们从小到大排序后输出!
#include<stdio.h>
int main(void)
{
int i,index,k,n,temp;
int a[10];
printf("Enter n:");
scanf("%d",&n);
printf("Enter %d integers:",n);
for(i=0;i<n;i++)
scanf("%d",&a[i]);
for(k=0;k<n-1;k++){
index=k;
for(i=k+1;i<n;i++)
if(a[i]<a[index])
index=i;
temp=a[index];
a[index]=a[k];
a[k]=temp;
}
printf("After sorted:",n);
for(i=0;i<n;i++)
printf("%d",a[i]);
printf("\n");
return 0;
}
在这里面
for(k=0;k<n-1;k++){
index=k;
for(i=k+1;i<n;i++)
if(a[i]<a[index])
index=i;
temp=a[index];
a[index]=a[k];
a[k]=temp;
}
这个是什么意思?!我不懂!帮忙解释一下,谢啦!解释清楚的高分重谢!!!
排序我肯定知道啦!只是不懂为什么要这么做!
for(k=0;k<n-1;k++){
index=k;
for(i=k+1;i<n;i++)
if(a[i]<a[index])
index=i;
temp=a[index];
a[index]=a[k];
a[k]=temp;
}
这个能不能具体解释一下每一步都是什么意思!我还是不太清楚!
展开
 我来答
lee4545
2009-04-14 · TA获得超过397个赞
知道小有建树答主
回答量:502
采纳率:0%
帮助的人:162万
展开全部
比较数的大小,然后交换位置,就是排序

好比有3个瓶子A B C 现在你要把A瓶中的水换到C瓶,C瓶的水换到A瓶,怎么做呢?当然要借助一个空瓶B,先把A瓶水换到B瓶,然后C瓶水换到A瓶,然后B瓶水换到C瓶,就实现交换了。

B就是你的temp变量,A C就是数组的两个变量
vbtraz
2009-04-14 · TA获得超过5530个赞
知道大有可为答主
回答量:4152
采纳率:0%
帮助的人:4396万
展开全部
这段循环里面的意思是, 把 k到n-1这里 最小的数放在最左边(a[k]这个位置上 )
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
windersa
2009-04-14
知道答主
回答量:10
采纳率:0%
帮助的人:0
展开全部
,
/ \
{ }
p !
; : ;
| : |
| : |
l ; l
l ; l
I ; I
I ; I
I ; I
I ; I
d | b
H | H
H | H
H I H
,;, H I H ,;,
;H@H; ;_H_;, ;H@H;
`\Y/d_,;|4H@HK|;,_b\Y/'
'\;MMMMM$@@@$MMMMM;/'
"~~~*;!8@8!;*~~~"
;888;
;888;
;888;
;888;
d8@8b
O8@8O
T808T
`~`
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2009-04-14
展开全部
士大夫
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式