| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1562 人关注过本帖
标题:输入3个数字,然后从大到小输出
只看楼主 加入收藏
Ice_clb
Rank: 1
等 级:新手上路
帖 子:108
专家分:6
注 册:2012-12-3
结帖率:70%
收藏
已结贴  问题点数:5 回复次数:19 
输入3个数字,然后从大到小输出
我想好了好久,思路想出来了,可就是写不出来,望指点
2014-01-12 23:39
神vLinux飘飘
Rank: 13Rank: 13Rank: 13Rank: 13
来 自:浙江杭州
等 级:贵宾
威 望:91
帖 子:6140
专家分:217
注 册:2004-7-17
收藏
得分:0 
程序代码:
#include<stdio.h>

const int LEN = 3;


void bubble_sort(int array[], int len);

int main(int argc, char** argv)
{
    int a[LEN], i;

    // input the nums
    for(i=0;i<LEN;i++)
    {
        printf("input the %d number:", i);
        scanf("%d",a+i);
    }

    // sort the array
    puts("sorting...");
    bubble_sort(a,LEN);

    // output the nums
    for(i=0;i<LEN;i++)
    {
        printf("numbers[%d]=%d\n",i,a[i]);
    }
    return 0;
}

/**

 * The bubble sort

 */
void bubble_sort(int array[], int len)
{
    int i,j, temp;
    for(i=0;i<len;i++)
    {
        for(j=0;j<len;j++)
        {
            if( array[j-1] > array[j] )
            {
                // swap the array[j-1], array[j]
                temp = array[j-1];
                array[j-1] = array[j];
                array[j] = temp;
            }
        }
    }
}


抄了别人的冒泡排序,惭愧自己写不出了

[ 本帖最后由 神vLinux飘飘 于 2014-1-12 23:59 编辑 ]

淘宝杜琨
2014-01-12 23:58
冯天华
Rank: 2
等 级:论坛游民
帖 子:28
专家分:24
注 册:2013-12-14
收藏
得分:0 
#include<stdio.h>
void main()
{
    int a,b,c,max,min,i;
    while(1)
    {
    printf("请输入3个整数:");
    scanf("%d%d%d",&a,&b,&c);
    if(a>b)max=a;
    else max=b;
    if(max<c)max=c;
    if(a<b)min=a;
    else min=b;
    if(min>c)min=c;
    if((a<c)&&(c<b))i=c;
    else if((a<b)&&(b<c))i=b;
    else i=a;
    printf("\n从大到小的顺序为:%3d%3d%3d\n",max,i,min);
    getch();
    }
}


我也是新手,做得比较粗糙,见谅……
2014-01-13 05:07
Ice_clb
Rank: 1
等 级:新手上路
帖 子:108
专家分:6
注 册:2012-12-3
收藏
得分:0 
有人能帮我解决一下嘛,大神们。
2014-01-13 08:57
wp231957
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:神界
等 级:贵宾
威 望:423
帖 子:13688
专家分:53332
注 册:2012-10-18
收藏
得分:0 
2楼   3楼  都有2份答案了  你还想 要啥呢

DO IT YOURSELF !
2014-01-13 09:08
Ice_clb
Rank: 1
等 级:新手上路
帖 子:108
专家分:6
注 册:2012-12-3
收藏
得分:0 
回复 5楼 wp231957
貌似运行有错误噢
2014-01-13 09:17
Ice_clb
Rank: 1
等 级:新手上路
帖 子:108
专家分:6
注 册:2012-12-3
收藏
得分:0 
回复 5楼 wp231957
你能写一个给我看看嘛
2014-01-13 09:18
wp231957
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:神界
等 级:贵宾
威 望:423
帖 子:13688
专家分:53332
注 册:2012-10-18
收藏
得分:0 
这是一个不使用数组排序的例子 :

程序代码:
#include <stdio.h>

int main()
{
    int a,b,c,m1,m2,m3;
    printf("请输入3个整数(请用空格分开数据):");
    scanf("%d %d %d",&a ,&b, &c);
    m1=c>(a>b?a:b)?c:(a>b?a:b);
    m3=c<(a<b?a:b)?c:(a<b?a:b);
    if(a!=m1 && a!=m3) m2=a;
    if(b!=m1 && b!=m3) m2=b;
    if(c!=m1 && c!=m3) m2=c;
    printf("\n从大到小的顺序为:%3d  %3d  %3d\n",m1,m2,m3);
    return 0;
}

DO IT YOURSELF !
2014-01-13 09:40
Ice_clb
Rank: 1
等 级:新手上路
帖 子:108
专家分:6
注 册:2012-12-3
收藏
得分:0 
回复 8楼 wp231957
这是最简单的写法吗,亲
2014-01-13 10:05
wp231957
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:神界
等 级:贵宾
威 望:423
帖 子:13688
专家分:53332
注 册:2012-10-18
收藏
得分:5 
起泡排序:

程序代码:
#include <stdio.h>

int main()
{
    int a,b,c,tmp;
    printf("请输入3个整数(请用空格分开数据):");
    scanf("%d %d %d",&a ,&b, &c);
    if(a<b)
    {
        tmp=b;
        b=a;
        a=tmp;
    }
    if(a<c)
    {
        tmp=c;
        c=a;
        a=tmp;
    }
    if(b<c)
    {
        tmp=c;
        c=b;
        b=tmp;
    }

    printf("\n从大到小的顺序为:%3d  %3d  %3d\n",a,b,c);
    return 0;
}

DO IT YOURSELF !
2014-01-13 10:11
快速回复:输入3个数字,然后从大到小输出
数据加载中...
 
   



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

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