标题:从键盘输入4个整数,将其从小到大
只看楼主
jasonjin1107
Rank: 1
等 级:新手上路
帖 子:4
专家分:0
注 册:2019-6-2
结帖率:100%
已结贴  问题点数:20 回复次数:3 
从键盘输入4个整数,将其从小到大
求大佬告知这个代码该怎么打
“从键盘读书任意4个整数,将其从小到大输出”

下面是我想过的只是不行
int a,b,c,d,t;
scanf("%d %d %d %d",&a,&b,&c,&d);
if (a>b)    {t=b;b=a;a=t;}
if (a>c)    {t=c;c=a;a=t;}
if (a>d)    {t=a;d=a;a=t;}
if (b>c)    {t=b;c=b;b=t;}
if (b>d)    {t=d;d=b;b=t;}
if (c>d)    {d=t;d=c;c=t;}

printf("%d %d %d %d",a,b,c,d);
搜索更多相关主题的帖子: 键盘 输入 整数 从小到大 scanf 
2019-06-02 20:21
吕孟伟
Rank: 8Rank: 8
等 级:贵宾
威 望:27
帖 子:200
专家分:870
注 册:2018-10-4
得分:5 
要不你试试冒泡排序?
程序代码:
#include <stdio.h>
#include <stdlib.h>

int main( void )
{
    int a[4];
    int i, j, temp;
    printf("Please you input the array:\n");
    for(i = 0; i < 4; i++)
    {
        scanf("%d", &a[i]);
    }
    printf("After the sort:\n");
    
    for(i = 0; i < 3; i++)
    {
        for(j = 0; j < 3 - i; j++)
        {
            if(a[j] > a[j+1])
            {
                temp = a[j];
                a[j] = a[j+1];
                a[j+1] = temp;
            }
        }
    }
    for(i = 0; i < 4; i++)
    {
        printf("%d\t", a[i]);
    }
    printf("\n");
    system("pause");
    return 0;
}

代码输出:
Please you input the array:
0 9 23 -7
After the sort:
-7      0       9       23

借用一下侯捷的话:勿在浮沙筑高台。
2019-06-02 21:38
rjsp
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:507
帖 子:8890
专家分:53117
注 册:2011-1-18
得分:15 
程序代码:
    if (a>b)    {t=b;b=a;a=t;}
    if (a>c)    {t=c;c=a;a=t;}
    if (a>d)    {t=d;d=a;a=t;} // 原先是 if (a>d)    {t=a;d=a;a=t;}
    if (b>c)    {t=c;c=b;b=t;} // 原先是 if (b>c)    {t=b;c=b;b=t;}
    if (b>d)    {t=d;d=b;b=t;}
    if (c>d)    {t=d;d=c;c=t;} // 原先是 if (c>d)    {d=t;d=c;c=t;}
2019-06-03 08:57
rjsp
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:507
帖 子:8890
专家分:53117
注 册:2011-1-18
得分:0 
所以
程序代码:
#include <stdio.h>

inline static void ensure_less_equal( int* l, int* r )
{
    if( *l > *r )
    {
        int t = *l;
        *l = *r;
        *r = t;
    }
}

int main(void)
{
    int a,b,c,d;
    scanf("%d%d%d%d", &a,&b,&c,&d);

    ensure_less_equal( &a, &b );
    ensure_less_equal( &a, &c );
    ensure_less_equal( &a, &d );
    ensure_less_equal( &b, &c );
    ensure_less_equal( &b, &d );
    ensure_less_equal( &c, &d );

    printf("%d %d %d %d\n", a,b,c,d);
}

2019-06-03 09:22



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




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

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