题解 | #最高分与最低分之差#

最高分与最低分之差

https://www.nowcoder.com/practice/e0e4f81dcd55408a8973f8033bbeb1d2

这道题使用变量循环赋值完全没问题,但是使用数组是总是导致数组越界,下面是我做好的一个数组实例,虽然能通过,但是我觉得并不够优秀,但经历几次修改,我实在优化不来。

描述

输入n个成绩,换行输出n个成绩中最高分数和最低分数的差。

输入描述:

两行,第一行为n,表示n个成绩,不会大于10000。

第二行为n个成绩(整数表示,范围0~100),以空格隔开。

输出描述:

一行,输出n个成绩中最高分数和最低分数的差。

#include <ctype.h>
#include <stdio.h>

//数组循环赋值法
int main()
{
    int n;
    int mark[n];
    scanf("%d",&n);

    int max = 0, min=100;
    int score = 0;
    int i =0;
    for(i = 0;i < n;i++) //n个成绩
    {
        scanf("%d",&score);
        mark[i] = score;
        max = mark[i] > max?mark[i]:max;    //判断最大
        min = mark[i] < min?mark[i]:min;    //判断最小
    }

    printf("%d",max - min);

    return 0;
}

全部评论

相关推荐

点赞 收藏 评论
分享
牛客网
牛客企业服务