注册 登录
编程论坛 C语言论坛

小白问:C语言怎么输入任意三个数,按从大到小排序,并输出最大值和最小值

一只羊sheep 发布于 2022-10-15 19:12, 511 次点击
怎么写“输入任意三个数,按从大到小输出,并输出最大值和最小值。”(大一才开学的新生
3 回复
#2
md000000002022-10-16 17:46
程序代码:

#include <stdio.h>

int getMax(int a, int b, int c) {
    int ret = a;
    if (b > ret)
        ret = b;

    if (c > ret)
        ret = c;
   
    return ret;
}

int getMin(int a, int b, int c) {
    int ret = a;
    if (b < ret)
        ret = b;

    if (c < ret)
        ret = c;
   
    return ret;
}

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

  printf("The max is %d\n", getMax(a, b, c));
  printf("The min is %d\n", getMin(a, b, c));

  return 0;
}

#3
rjsp2022-10-17 10:14
输入任意三个
什么数?整数、非负整数、浮点数,还是字符串等数据

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

void 如果x小于y则交换两者的值( int* px, int* py )
{
    if( *px < *py )
    {
        int tmp = *px;
        *px = *py;
        *py = tmp;
    }
}

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

    如果x小于y则交换两者的值( &a, &b );
    如果x小于y则交换两者的值( &b, &c );
    如果x小于y则交换两者的值( &a, &b );

    printf( "从大到小排序结果: { %d, %d, %d }\n", a, b, c );
    printf( "最大值: %d\n", a );
    printf( "最小值: %d\n", b );
}


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

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

    if( a < b )
    {
        if( b < c )
            printf( "从大到小排序结果: { %d, %d, %d }\n最大值: %d\n最小值: %d\n", c, b, a, c, a );
        else if( c < a )
            printf( "从大到小排序结果: { %d, %d, %d }\n最大值: %d\n最小值: %d\n", b, a, c, b, c );
        else
            printf( "从大到小排序结果: { %d, %d, %d }\n最大值: %d\n最小值: %d\n", b, c, a, b, a );
    }
    else
    {
        if( a < c )
            printf( "从大到小排序结果: { %d, %d, %d }\n最大值: %d\n最小值: %d\n", c, a, b, c, b );
        else if( c < b )
            printf( "从大到小排序结果: { %d, %d, %d }\n最大值: %d\n最小值: %d\n", a, b, c, a, c );
        else
            printf( "从大到小排序结果: { %d, %d, %d }\n最大值: %d\n最小值: %d\n", a, c, b, a, b );
    }
}
#4
我不是熊恰恰2023-02-23 20:59
1