| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 692 人关注过本帖
标题:老师都不会的数组问题!!各位赶紧来支招啊!
取消只看楼主 加入收藏
跳跳鱼
Rank: 2
等 级:论坛游民
帖 子:74
专家分:60
注 册:2011-5-4
结帖率:93.75%
收藏
已结贴  问题点数:20 回复次数:4 
老师都不会的数组问题!!各位赶紧来支招啊!
呵呵!激动啊!老师中被俺难住了!话说书上有这样一个题:用选择法对数组中10个整数由小到大排序。下面是程序代码
#include <iostream>
using namespace std;
int main()
{
void select_sort(int a[],int n);
int a[10],i;
cout<<"enter the original array:"<<endl;
for(i=0;i<10;i++)
cin>>a[i];
cout<<endl;
select_sort(a,10);
cout<<"the sorted srray:"<<endl;
for(i=0;i<10;i++)
cout<<a[i]<<" ";
cout<<endl;
return 0;
}
void select_sort(int a[],int n)
{int i,j,k,t;
for(i=0;i<n-1;i++)
{k=i;
for(j=i+1;j<n;j++)
if(a[j]<a[k])k=j;
t=a[k];a[k]=a[i];a[i]=t;
}
}
下面正式开说,注意上面代码的红色字体。个人感觉这个K很鸡肋,明明可以直接比较两个数,为什么还要加个K呢?所以我对形参函数做了一下改变;
void select_sort(int a[],int n)
{int i,j,k;
for(i=0;i<10;i++)
for(j=i+1;j<n;j++)
{if(a[i]>a[j])
t=a[i];a[i]=a[j];a[j]=t;
}
}
问题是,试验了一下,编译什么的都没有错,但一到执行就执行不了了,特别起怪。老师也说不清楚那错了。
为什么那个K不能去掉呢?K的作用是干嘛的呢?求解。。。。。。。。。。
搜索更多相关主题的帖子: return 
2011-06-02 13:08
跳跳鱼
Rank: 2
等 级:论坛游民
帖 子:74
专家分:60
注 册:2011-5-4
收藏
得分:0 
同志们!同志们!方向错啦啊!我问的是为啥要有个K呢?K...
明明不加K就可以直接比较的
2011-06-02 22:18
跳跳鱼
Rank: 2
等 级:论坛游民
帖 子:74
专家分:60
注 册:2011-5-4
收藏
得分:0 
图片附件: 游客没有浏览图片的权限,请 登录注册
会出现这种情况啊!
2011-06-02 22:29
跳跳鱼
Rank: 2
等 级:论坛游民
帖 子:74
专家分:60
注 册:2011-5-4
收藏
得分:0 
图片附件: 游客没有浏览图片的权限,请 登录注册
会出现这种情况啊!
2011-06-02 22:31
跳跳鱼
Rank: 2
等 级:论坛游民
帖 子:74
专家分:60
注 册:2011-5-4
收藏
得分:0 
谢啦谢啦!受教啦!这个。。。。。让我发现我们老师是多么菜菜
2011-06-03 12:22
快速回复:老师都不会的数组问题!!各位赶紧来支招啊!
数据加载中...
 
   



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

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