最小最大标记

时间:2018-10-14 12:37:08

标签: c max min

我需要从用户输入的5个整数中找到最大和最小标记。最大值已被打印出来,但最小值却没有。有什么想法吗?

#include<stdio.h>
int main()
{
    int marks = 0, avg = 0, min = 0, max = 0;

    for (int i = 0; i < 5; i++)
    {
        printf("Enter a mark: ");
        scanf_s("%d", &marks);

        if (marks > max)
        {
            max = marks;
        }
        if (marks < min)
        {
            min = marks;
        }       
    }

    printf("The maximum mark is: %d\n", max);
    printf("The minimum mark is: %d\n", min);
    //printf("The minimum mark is: %d\n", avg);

    getch();
    getch();
}

1 个答案:

答案 0 :(得分:1)

将min的初始值设置为更高的值,例如10000。因为您输入的值都可能不小于0。
甚至更好,为您的数据类型使用最大可用值

#include <stdio.h>
#include <limits.h>
int main()
{
    int marks = 0, avg = 0, min = INT_MAX, max = 0;

    for (int i = 0; i < 5; i++)
    {
        printf("Enter a mark: ");
        scanf_s("%d", &marks);

        if (marks > max)
        {
            max = marks;
        }
        if (marks < min)
        {
            min = marks;
        }       
    }

    printf("The maximum mark is: %d\n", max);
    printf("The minimum mark is: %d\n", min);
    //printf("The minimum mark is: %d\n", avg);

    getch();
    getch();
}