| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 3046 人关注过本帖
标题:5个数按从小到大排列,还差点什么
只看楼主 加入收藏
ryp1825
Rank: 1
等 级:新手上路
帖 子:18
专家分:0
注 册:2006-12-26
收藏
 问题点数:0 回复次数:15 
5个数按从小到大排列,还差点什么

#include<iostream>
using namespace std;
int main()
{
int n1,n2,n3,n4,n5;
int *p1,*p2,*p3,*p4,*p5,p;
cout<<"请输入五个整数:"<<endl;
cin>>n1>>n2>>n3>>n4>>n5;
p1=&n1;
p2=&n2;
p3=&n3;
p4=&n4;
p5=&n5;
if(n1>n2)
{
p=*p1;
*p1=*p2;
*p2=p;
}
if(n2>n3)
{
p=*p2;
*p2=*p3;
*p3=p;
}
if(n3>n4)
{
p=*p3;
*p3=*p4;
*p4=p;
}
if(n4>n5)
{
p=*p4;
*p4=*p5;
*p5=p;
}
if(n1>n5)
{
p=*p1;
*p1=*p5;
*p5=p;
}
cout<<n1<<" "<<n2<<" "<<n3<<" "<<n4<<" "<<n5;
return 0;
}


搜索更多相关主题的帖子: 排列 从小到大 
2007-01-06 22:40
pinglideyu
Rank: 3Rank: 3
来 自:武汉工程大学
等 级:论坛游侠
威 望:1
帖 子:735
专家分:140
注 册:2007-1-7
收藏
得分:0 
这样做很麻烦的,建议用数组做!

~~我的明天我知道~~
2007-01-07 10:34
yuyunliuhen
Rank: 6Rank: 6
等 级:贵宾
威 望:20
帖 子:1435
专家分:0
注 册:2005-12-12
收藏
得分:0 

建议用数组,判断的话可以用循环..可以省写很多代码的


Go confidently in the  directions of your dreams,live the life you have imagined!Just do it!
It is no use learning without thinking!
2007-01-07 12:20
ryp1825
Rank: 1
等 级:新手上路
帖 子:18
专家分:0
注 册:2006-12-26
收藏
得分:0 

我试下看

2007-01-07 23:07
soc01
Rank: 1
等 级:新手上路
帖 子:19
专家分:0
注 册:2006-9-6
收藏
得分:0 

#include <iostream>
using namespace std;
int main()
{
int a[5];
int i,j,temp;
cout<<"Please enter 5 numbers:";
for(i=0;i<5;i++)
cin>>a[i];
for(i=1;i<5;i++)
{
for(j=0;j<i;j++)
{
if(a[j]>a[i])
{
temp = a[j];
a[j] = a[i];
a[i] = temp;
}
}
}
for(i=0;i<5;i++)
cout<<a[i]<<" ";
cout<<endl;
return 0;
}


2007-01-08 17:14
jishuai
Rank: 1
等 级:新手上路
帖 子:97
专家分:0
注 册:2006-12-15
收藏
得分:0 

哎呀
这样写好麻烦的啊
你把它放在数组里面啊
用FOR循环来实现啊


2007-01-08 19:04
yaleond
Rank: 1
等 级:新手上路
帖 子:19
专家分:0
注 册:2006-12-24
收藏
得分:0 
这样好像只能找到最大值吧?
2007-01-09 09:03
soc01
Rank: 1
等 级:新手上路
帖 子:19
专家分:0
注 册:2006-9-6
收藏
得分:0 
以下是引用yaleond在2007-1-9 9:03:41的发言:
这样好像只能找到最大值吧?


你自己跑一次就知道了。


2007-01-09 18:38
shengwumozhe
Rank: 1
等 级:新手上路
帖 子:54
专家分:0
注 册:2006-10-24
收藏
得分:0 

你的是冒泡排序,5个数要循环5次才行,你那个只有一次自然行不通.
冒泡排序是基本的排序方法,你的思想是正确的,但是要记住排序的次序是N-1次,(N为需要排序的个数)
再一点注意循环控制,并且结构用数组,会省掉很多代码.

[此贴子已经被作者于2007-1-9 19:36:22编辑过]


自信,微笑^_^
2007-01-09 19:29
shengwumozhe
Rank: 1
等 级:新手上路
帖 子:54
专家分:0
注 册:2006-10-24
收藏
得分:0 
以下是引用soc01在2007-1-8 17:14:05的发言:

#include <iostream>
using namespace std;
int main()
{
int a[5];
int i,j,temp;
cout<<"Please enter 5 numbers:";
for(i=0;i<5;i++)
cin>>a[i];
for(i=1;i<5;i++)
{
for(j=0;j<i;j++)
{
if(a[j]>a[i])
{
temp = a[j];
a[j] = a[i];
a[i] = temp;
}
}
}
for(i=0;i<5;i++)
cout<<a[i]<<" ";
cout<<endl;
return 0;
}

正解!!!


自信,微笑^_^
2007-01-09 19:39
快速回复:5个数按从小到大排列,还差点什么
数据加载中...
 
   



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

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