| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 829 人关注过本帖
标题:C语言 选择法这样写核心程序行不?
只看楼主 加入收藏
ansonsaku
Rank: 1
等 级:新手上路
帖 子:37
专家分:0
注 册:2007-2-15
结帖率:0
收藏
 问题点数:0 回复次数:5 
C语言 选择法这样写核心程序行不?

10个数 按从小到大排列
核心程序:int i,j,t,a[10]
  for(i=0;i<9;i++)
{for (j=1;j<10-i;j++)
if (a[i]>a[i+1])
t=a[i];a[i]=a[i+1]);a[i+1]=t;
}
对不?
和int i,j,a[10],t;
for(i=0;i<9;i++)
{k=1;
for (j=i+1;j<10;j++)
if (a[j]<a[k]) k=j;
t=a[k];a[k]=a[i]);a[i]=t;
}
一样吗?

搜索更多相关主题的帖子: 核心程序 C语言 int 选择 排列 
2007-02-15 19:32
ansonsaku
Rank: 1
等 级:新手上路
帖 子:37
专家分:0
注 册:2007-2-15
收藏
得分:0 
打漏了 第5行是if (a[i]>a[i+1]) j=j+i;

2007-02-15 19:47
mp3aaa
Rank: 5Rank: 5
等 级:贵宾
威 望:17
帖 子:2013
专家分:8
注 册:2006-2-15
收藏
得分:0 

int i,j,t,a[10]
  for(i=0;i<9;i++)
{for (j=1;j<10-i;j++)
if (a[i]>a[i+1])j=j+i;
t=a[i];a[i]=a[i+1];a[i+1]=t;
}
不对,不一样

羊肉串 葡萄干 哈密瓜!!
2007-02-16 16:07
crackerwang
Rank: 3Rank: 3
等 级:新手上路
威 望:8
帖 子:833
专家分:0
注 册:2007-2-14
收藏
得分:0 
for(i=0;i<9;i++)
{for (j=1;j<9-i;j++)//因该是9-i,如果i=0;j 就可以=9,j+1就要超出了
if (a[j]>a[j+1])
t=a[j];a[j]=a[j+1]);a[j+1]=t;//这里应该是j否则有可能就死循环了
}
希望我说的对

2007-02-16 16:15
crackerwang
Rank: 3Rank: 3
等 级:新手上路
威 望:8
帖 子:833
专家分:0
注 册:2007-2-14
收藏
得分:0 
我感觉好象是一样的
第二个中的k是多余的
int i,j,a[10],t;
for(i=0;i<9;i++)
{
for (j=i+1;j<10;j++)
if (a[j]<a[j]){
t=a[j];a[j]=a[i]);a[i]=t;}
}
这样应该和你是一样的

2007-02-16 16:19
crackerwang
Rank: 3Rank: 3
等 级:新手上路
威 望:8
帖 子:833
专家分:0
注 册:2007-2-14
收藏
得分:0 

看错了
第一个是冒泡泡;第二个应该是选泡泡{选择法},但是第二个按照你那样子的话i循环一次k=1;后面好象都是和a[1]比较
int i,j,a[10],t;
for(i=0;i<9;i++)
{
for (j=i+1;j<10;j++)
if (a[j]<a[i]){//找出最小的
t=a[j];a[j]=a[i]);a[i]=t;}
}


2007-02-16 16:30
快速回复:C语言 选择法这样写核心程序行不?
数据加载中...
 
   



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

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