首页 > 试题广场 >

最大最小值

[编程题]最大最小值
  • 热度指数:25242 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 256M,其他语言512M
  • 算法知识视频讲解
\hspace{15pt}给定三个整数 a,b,c1 \leqq a,b,c \leqq 10^6),请输出它们中的最大值和最小值。

输入描述:
\hspace{15pt}在一行中输入三个整数 a,b,c1 \leqq a,b,c \leqq 10^6),用空格隔开。


输出描述:
\hspace{15pt}输出两行:
\hspace{23pt}第一行输出 `The maximum number is : X`,其中 X 为最大值;
\hspace{23pt}第二行输出 `The minimum number is : Y`,其中 Y 为最小值。
示例1

输入

1 2 3

输出

The maximum number is : 3
The minimum number is : 1

说明

输入为 1,2,3,最大值为 3,最小值为 1

备注:
\hspace{15pt}注意输出内容的冒号前后均有空格。
这一题,如果仅仅考虑基本语法,是不是用三元运算符是最好的选择?
发表于 2025-12-18 15:38:43 回复(0)
#include <stdio.h>

int max (int x,int y)
{
    if(x>y)
    {
        return x;
    }
    if(x<y)
    {
        return y;
    }
    else {
    return x;
    }
};
int min (int m,int n)
{
    if(m<n)
    return m;
    if(m>n)
    return n;
    else
     return m;
}
int main()
{
    int a = 0,b = 0,c = 0;
    scanf("%d%d%d",&a,&b,&c);
    int max_val = max(a,max(b,c));
    int min_val = min(a,min(b,c));
    printf("The maximum number is : %d\n",max_val);
    printf("The minimum number is : %d\n",min_val);

    return 0;
}
用函数写的
发表于 2025-11-20 20:37:36 回复(0)
#include <stdio.h>

int main() {
    int a, b,c;
    scanf("%d %d %d",&a,&b,&c);
    int Max=((a>b)?a:b)>c?((a>b)?a:b):c;
    int Min=((a<b)?a:b)<c?((a<b)?a:b):c;
    printf("The maximum number is : %d\n",Max);
    printf("The minimum number is : %d\n",Min);
    return 0;
}
发表于 2025-10-12 15:31:09 回复(1)
给个参考
#include <stdio.h>

int main() {
    int a, b,c,temp;
    scanf("%d %d %d",&a,&b,&c);
if(a>c){
temp=a;    
a=c;
c=temp;
}
if(a>b){
    temp=a;
    a=b;
    b=temp;
}
if(b>c){
    temp=b;
    b=c;
    c=temp;
}
printf("The maximum number is : %d\n",c);
printf("The minimum number is : %d",a);
}

发表于 2025-09-18 14:37:56 回复(0)
也许这是获得最大值与最小值的复杂写法了吧
#include <stdio.h>
#include <stdarg.h>
#include <limits.h>

typedef enum ExtremumOption
{
    EXTREMUN_MIN,
    EXTREMUM_MAX
}ExtremumOption;

int extremum_int(ExtremumOption option, const int num, ...)
{
    if (num <= 0)
    {
        return INT_MAX;
    }

    va_list vaList;
    va_start(vaList, num);

    int extremum_value = va_arg(vaList, int), count_num = 1;

    while (count_num < num)
    {
        int arg = va_arg(vaList, int);

        switch (option) 
        {
        case EXTREMUN_MIN:
            extremum_value > arg ? extremum_value = arg : 0;
            break;
        case EXTREMUM_MAX:
            extremum_value < arg ? extremum_value = arg : 0;
            break;
        }

        count_num++;
    }

    va_end(vaList);

    return extremum_value;
}

int main() {
    int a = 0, b = 0, c = 0;

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

    printf("The maximum number is : %d\n", extremum_int(EXTREMUM_MAX, 3, a, b, c));
    printf("The minimum number is : %d", extremum_int(EXTREMUN_MIN, 3, a, b, c));

    return 0;
}


发表于 2025-08-06 19:40:37 回复(0)
#include <stdio.h>

int main() {
    int a, b, c;
    scanf("%d %d %d", &a, &b, &c);
    printf("The maximum number is : %d\n", a > b && a > c ? a : b > c ? b : c);
    printf("The minimum number is : %d\n", a < b && a < c ? a : b < c ? b : c);
    return 0;
}
发表于 2025-07-07 11:02:14 回复(1)