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

变量值如何获取的最大最小值

wolf_55555 发布于 2019-06-14 06:51, 2248 次点击
新手求教,以下程序变量min,max如何实现获得最大最小值,所有输入值看着程序上并未比较啊!
#include<stdio.h>
int main(void)
{
    const float MIN=0.0f;
    const float MAX=100.0f;

    float score;
    float total=0.0f;
    int n=0;
    float min=MAX;
    float max=MIN;

    printf("Enter the first score (q to quit):");
    while(scanf("%f",&score)==1)
    {
        if(score<MIN||score>MAX)
        {
            printf("%0.1f is an invaild value. Try again: ",score);
            continue;
        }
        printf("Accept %0.1f:\n",score);
        min=(score<min)?score:min;
        max=(score>max)?score:max;
        total+=score;
        n++;
        printf("Enter next score (q to quit):");
    }
    if(n>0)
    {
        printf("Average of %d score is %0.1f.\n",n,total/n);
        printf("Low=%0.1f,High=%0.1f\n",min,max);
    }
    else
    printf("No valid scores were entered.\n");

    system("pause");
    return 0;
4 回复
#2
rjsp2019-06-14 08:33
        min=(score<min)?score:min;
        max=(score>max)?score:max;
#3
wolf_555552019-06-14 22:44
谢谢,但是输入n次值,每次都会进行循环吧,min和max不是应该是最后输入的值吗?
#4
林月儿2019-06-15 09:26
有三目运算符判断,取的是极值,不一定是最后的输入值,注意是不一定
#5
wolf_555552019-06-22 03:00
谢谢,还是不太理解,继续学习在回头看看吧,三目运算符完全不懂!
1