标题:请教啊
只看楼主
蓝调
Rank: 1
来 自:火星
等 级:新手上路
帖 子:22
专家分:0
注 册:2007-12-19
 问题点数:0 回复次数:6 
请教啊
# include <stdio.h>
void main()
{
 int i,j,k,t,a[5];
 system("cls");
 scanf("%d",&a[0] );
 for(i=1;i<5;i++)
 {
  scanf("%d",&a[i]);
  for(j=0;j<i;j++)
  for(k=j+1;k<i+1;k++)
  if(a[k]<a[j])
  {
   t=a[k];
   a[k]=a[j];
   a[j]=k;
  }
 }
 for(i=0;i<5;i++)
 printf("%d,",a
 [i]);
}
输入排序,只能一个一个输,最后按升序输出!
我的程序显然错了,但希望有人可以在不改变算法的基础上改正此程序,先谢啦!
搜索更多相关主题的帖子: void include system 
2007-12-30 09:53
blueboy82006
Rank: 5Rank: 5
来 自:幻想世界
等 级:贵宾
威 望:16
帖 子:1227
专家分:57
注 册:2007-7-23
得分:0 
a[j]=t;   啊!

2007-12-30 10:37
無邪的睡脸
Rank: 2
等 级:等待验证会员
威 望:1
帖 子:344
专家分:13
注 册:2007-9-11
得分:0 
我把system("cls");去掉,或者加上头文件#include <stdlib.h>就通过了啊!不知lz说的错误是什么!我用的devc++.
对了,楼上说的我检查时改了,忘了说!

[[italic] 本帖最后由 無邪的睡脸 于 2007-12-30 10:42 编辑 [/italic]]
2007-12-30 10:40
蓝调
Rank: 1
来 自:火星
等 级:新手上路
帖 子:22
专家分:0
注 册:2007-12-19
得分:0 
呵呵,你也在啊,谢啦!

科学是领跑者的世界,而不是追随者!
2007-12-30 11:01
無邪的睡脸
Rank: 2
等 级:等待验证会员
威 望:1
帖 子:344
专家分:13
注 册:2007-9-11
得分:0 
哦!一个群里的啊,嘿嘿
2007-12-30 12:22
布拉莫斯
Rank: 1
来 自:中国太平洋舰队
等 级:新手上路
帖 子:169
专家分:0
注 册:2007-3-31
得分:0 
这是选择排序吗?
我写成这样了。。。  去掉了一个for循环。。。。不知合不合楼主的意思。。。
#include <stdio.h>
#include <stdlib.h>
void main()
{
int i,j,k,t,a[5];
system("cls");
scanf("%d",&a[0] );
for(i=1;i<5;i++)
{
//  scanf("%d",&a[i]);
    scanf("%d",&t);         // 一个临时变量
  for(j=0;j<i;j++)        
    if(t<a[j])
    {
        a[i]=t;
        t=a[j];
        a[j]=a[i];
    }
   a[i]=t;                // t是前面的最大值
//  for(k=j+1;k<i+1;k++)
//  if(a[k]<a[j])
//  {
//   t=a[k];
//   a[k]=a[j];
//   a[j]=k;
//  }
}
for(i=0;i<5;i++)
printf("%d,",a[i]);
}

真理往往掌握在少数人手中,可现实却是少数服从多数!
2007-12-30 18:01
寂寞的天空
Rank: 1
等 级:新手上路
帖 子:28
专家分:0
注 册:2007-12-22
得分:0 
t=a[k];
   a[k]=a[j];
   a[j]=k;    /*这里错了啊!a[j]=t不是a[j]=k*/
改过之后DEV C++通过
2007-12-30 18:15



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-195095-1-1.html




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

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