我需要从用户输入的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();
}
答案 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();
}