| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 8276 人关注过本帖
标题:输入十个数 然后排列顺序后输出来
只看楼主 加入收藏
meteors
Rank: 1
等 级:新手上路
帖 子:27
专家分:0
注 册:2009-7-16
结帖率:100%
收藏
已结贴  问题点数:20 回复次数:33 
输入十个数 然后排列顺序后输出来
输入十个数  然后排列顺序后输出来
#include<stdio.h>
#define n 10
void main()
{
    int i,j,a[10],min,x;
    for(i=0;i<10;i++)
    {
        scanf("%d",&a[i]);
        min =a[0];
    }
       for(j=1;j<10;j++)
       {
        if(min>a[j])
        x=min;
        min=a[j];
        a[j]=x;
       }
    for(j=1;j<=n;j++)
        printf("%d",a[j]);
    
}
搜索更多相关主题的帖子: 输入十个数 然后排列顺序后输出来 求助!!! 
2009-08-21 20:40
meteors
Rank: 1
等 级:新手上路
帖 子:27
专家分:0
注 册:2009-7-16
收藏
得分:0 
请高手指导一下看看是哪里出错了  输出来不对呀
2009-08-21 20:42
wa5000
Rank: 1
等 级:新手上路
帖 子:15
专家分:0
注 册:2009-7-23
收藏
得分:0 
你这个 只排了一次啊  只把一个最小的数排在前面,
其他没有排列啊
应该用两个循环
应该用 冒泡法和快排等会编个程序给你啊
2009-08-21 21:21
arthaszu
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:90
专家分:163
注 册:2009-6-29
收藏
得分:0 
冒泡:#includemain(){    int i,j;    float t,a[10];    printf("\n");    for(i=0;i<10;i++)    {        printf("a[%d}="i);        scanf("%f",&a[i]);    }           for(i=0;i<9;i++)        for(j=1+1;j<10;j++)            if(a[i]<=a[j])           {                 t=a[i];                a[i]=a[j];                a[j]=t;           }    for(i=0;i<10;j++)        printf("%f",a[i]);    } 直接写的,你看主要看下过程吧。 如有错误,纯属巧合
2009-08-21 22:49
arthaszu
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:90
专家分:163
注 册:2009-6-29
收藏
得分:0 
偷懒出的毛病,你格式自己搞下吧

To  four  years  in  each  other's
2009-08-21 22:54
soler
Rank: 9Rank: 9Rank: 9
等 级:蜘蛛侠
帖 子:181
专家分:1077
注 册:2005-7-16
收藏
得分:20 
程序代码:
#include<stdio.h>
#define N 10
void main()
{
    int i,j,a[N],min,x;
    for(i=0;i<N;i++)
    {
        scanf("%d",&a[i]);
    }
    for(i=0;i<N-1;i++)
   {
       min=i;
       for(j=i+1;j<N;j++)
          if(a[min]>a[j])
             min=j;
        x=a[min];
        a[min]=a[i];
        a[i]=x;
       }
    for(j=0;j<N;j++)
        printf("%3d",a[j]);
}
2009-08-21 23:20
soler
Rank: 9Rank: 9Rank: 9
等 级:蜘蛛侠
帖 子:181
专家分:1077
注 册:2005-7-16
收藏
得分:0 
顺道练习了一下快速排序,^_^,以前还没写过,今天总算是看明白了。。。
程序代码:
#include<stdio.h>
#define N 10

int quicksort(int a[], int left, int right);

void main()
{
    int i;
    int a[N];

    for(i = 0;i < N; i++)
        scanf("%d", &a[i]);

    quicksort(a, 0, N-1);

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

int quicksort(int a[], int left, int right)
{
    int i,j,temp;

    i = left;
    j = right;
    temp = a[left];

    if(left > right)
        return;
    while(i != j)
    {
        while(i < j && a[j] >= temp)
            j--;
        if(i < j)
            a[i++] = a[j];
        while(i < j && a[i] <= temp)
            i++;
        if(i < j)
            a[j--] = a[i];
    }
    a[i] = temp;

    quicksort(a, left, i-1);
    quicksort(a, i+1, right);
}
2009-08-21 23:38
DMS
Rank: 2
等 级:论坛游民
帖 子:54
专家分:48
注 册:2009-6-28
收藏
得分:0 
以下是引用meteors在2009-8-21 20:40的发言:输入十个数  然后排列顺序后输出来#include#define n 10void main(){    int i,j,a[10],min,x;    for(i=0;i<10;i++)    {        scanf("%d",&a);        min =a[0];    }       for(j=1;j<10;j++)       {  ...
看看输出那里从1开始的额~~自己想想
2009-08-23 22:56
wxjeacen
Rank: 7Rank: 7Rank: 7
等 级:禁止访问
帖 子:1291
专家分:628
注 册:2009-3-22
收藏
得分:0 
我以为会有人用二叉排序树的。。

生命不熄,战斗不止.
2009-08-23 23:26
广陵绝唱
Rank: 10Rank: 10Rank: 10
等 级:贵宾
威 望:29
帖 子:3607
专家分:1709
注 册:2008-2-15
收藏
得分:0 
回复 9 楼
查找二叉树 和 一维数组排序相比,有什么优缺点么?我可以用快排的方式给一个一维数组排序,也可以把它存储为一棵二叉排序数,那么它们两种方式相比,孰优孰劣,各有什么优缺点呢?敬请教诲,谢谢。

[ 本帖最后由 广陵绝唱 于 2009-8-24 01:10 编辑 ]
2009-08-24 01:07
快速回复:输入十个数 然后排列顺序后输出来
数据加载中...
 
   



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

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