| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 944 人关注过本帖
标题:[求助]关于排序问题...
只看楼主 加入收藏
学习C中
Rank: 1
等 级:新手上路
帖 子:34
专家分:0
注 册:2006-10-28
收藏
 问题点数:0 回复次数:16 
[求助]关于排序问题...
输入一个数n(n〈10),然后再输入n个数,经过选择排序后让他们从小到大输出。
我编写了一个老是出错。希望大虾们帮我看下。
main()
{
int a[10],i,n,k,index;
scanf("%d",&n);
for(i=0;i<n;i++)
scanf("%d",&a[i]);
for(k=0;k<n-2;k++){
index=k
for(i=0;i<n-1;i++)
if(a[i]<a[index])
index=i;
a[k]=a[index];
}
for(i=0;i<n;i++)
printf("%d",a[i});

}
哪里出问题了啊。

搜索更多相关主题的帖子: int main 
2007-03-23 19:54
pinglideyu
Rank: 3Rank: 3
来 自:武汉工程大学
等 级:论坛游侠
威 望:1
帖 子:735
专家分:140
注 册:2007-1-7
收藏
得分:0 

你这个选择排序有很大的问题。
问题真的很多。
你的思维蛮混乱的。。。。
你看看这个吧。
估计你那没有弄明白!
#include <stdio.h>

void main()
{
int a[10],i,n,k,index;
printf("Enter the number:");
scanf("%d",&n);

if (n>10)
printf("No memory!\n");
else
{
for(i=0;i<n;i++)
scanf("%d",a+i);
for (i=1;i<n;i++)
{
for (k=0;k<n-i;k++)
if (a[k]>a[k+1])
{
index=a[k];
a[k]=a[k+1];
a[k+1]=index;
}

}
}
for(i=0;i<n;i++)
printf("%d ",a[i]);
printf("\n");
}


~~我的明天我知道~~
2007-03-23 20:42
学习C中
Rank: 1
等 级:新手上路
帖 子:34
专家分:0
注 册:2006-10-28
收藏
得分:0 
就是啊 平时练习少了。。我听了课,。。
谢谢了。。
2007-03-23 20:46
zhaoyg
Rank: 1
等 级:新手上路
帖 子:328
专家分:0
注 册:2006-8-28
收藏
得分:0 
我的思路是先定义一个10元素的数组和一个变量t,
用一个循环读入10的数字,
再用两个for循环镶套 作a[i]与a[i+1]的比较交换数值
最后再用一个循环打印结果

麻雀飞上枝头变凤凰,而菜鸟的我飞上枝头却感冒了,为什么我的脑袋如此的不管用呢。
2007-03-23 20:50
pinglideyu
Rank: 3Rank: 3
来 自:武汉工程大学
等 级:论坛游侠
威 望:1
帖 子:735
专家分:140
注 册:2007-1-7
收藏
得分:0 
思路完全正确,不错哟。。。
呵呵。。。。

~~我的明天我知道~~
2007-03-23 20:56
pinglideyu
Rank: 3Rank: 3
来 自:武汉工程大学
等 级:论坛游侠
威 望:1
帖 子:735
专家分:140
注 册:2007-1-7
收藏
得分:0 
思路完全正确,不错哟。。。
呵呵。。。。

~~我的明天我知道~~
2007-03-23 20:59
学习C中
Rank: 1
等 级:新手上路
帖 子:34
专家分:0
注 册:2006-10-28
收藏
得分:0 

恩 你这个思路好简单清晰啊。
我那个有点复杂。。

2007-03-25 20:40
gonganruyi
Rank: 1
等 级:新手上路
帖 子:15
专家分:0
注 册:2007-3-25
收藏
得分:0 
对还是下面的那个好!!!
2007-03-26 01:37
liel
Rank: 1
等 级:新手上路
帖 子:115
专家分:0
注 册:2007-1-16
收藏
得分:0 
所以编程的思路是很重要的,有时间多读一些程序吧.这对你编程有很大提高的!!

2007-03-26 09:01
蚂蚁啃骨头
Rank: 1
等 级:新手上路
帖 子:39
专家分:0
注 册:2007-3-14
收藏
得分:0 
以下是引用zhaoyg在2007-3-23 20:50:20的发言:
我的思路是先定义一个10元素的数组和一个变量t,
用一个循环读入10的数字,
再用两个for循环镶套 作a[i]与a[i+1]的比较交换数值
最后再用一个循环打印结果

你可以把那个程序写出来么?我用你的方法好象写不出来啊,只能比较a[0]和a[1]
然后再拿小的去比较a[2]等等等等....我就是不知道怎么把那些全部一起比较....


人生就像没有BACK键的浏览器,一旦选择了一个链接,就无法再回头。
2007-03-26 23:14
快速回复:[求助]关于排序问题...
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.012595 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved