牛客网刷题 | BC119 最高分与最低分之差

作者 : admin 本文共1098个字,预计阅读时间需要3分钟 发布时间: 2024-06-16 共1人阅读

牛客网刷题 | BC119 最高分与最低分之差插图

目前主要分为三个专栏,后续还会添加:

        专栏如下:                 C语言刷题解析       C语言系列文章       我的成长经历

感谢阅读!

初来乍到,如有错误请指出,感谢!


描述

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

输入描述:

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

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

输出描述:

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

牛客网刷题 | BC119 最高分与最低分之差插图(1)


思路 :

输入两行 一行是表示n个成绩

另一行输入成绩

然后进行比较大小

将最大的和最小的分别存下来 然后进行相减


代码 1 :

/*思路 : 
输入两行 一行是表示n个成绩
另一行输入成绩
然后进行比较大小
将最大的和最小的分别存下来 然后进行相减
*/

# include 
int main ()

{
    int n = 0;
    scanf("%d",&n);//用户输入多少个成绩

    int arr[n];//将用户输入的成绩都存入数组里面 【注意 此处代码不能放在VS2022 通过不了】
    // int arr[100] = {0}; //在VS2022 可以运行通过
    int i = 0;
    for(i = 0; i<n; i++)
    {
        scanf("%d",&arr[i]);
    }
    int max = arr[0],min = arr[0];
    //假设最大和最小的成绩都是从下标0开始的
    for(int j = 0; jmax)//当数组里面的元素大于max 就进行赋值操作
        {
            max = arr[j];
        }
        if(arr[j]<min)//当数组里面的元素小于min 就进行赋值操作
        {
            min = arr[j];
        }
    }
    printf("%d",max-min);//根据题目 得出相减后的结果
    return 0;
}

代码 2 :

# include 
int main()
{
    int n = 0;
    int m = 0;
    int max = 0;
    int min = 100;
    scanf("%d",&n);

    for(int i = 0;imax)
        {
            max = m;
        }
        if(m<min)
        {
            min = m;
        }

    }

    printf("%d",max-min);
    return 0;
}

 代码 3 :

根本不需要数组,我拿一个值接收它的数字,然后我的max=0,low=100,这个数字一开始肯定大于max小于low,比如98,那max =98,low=98,然后97进来,我的max还是98,而low却是97,就这样找到两个极值,然后相减。

#include
int main()
{
    int n = 0;
    int ret = 0;
    int max = 0;
    int low = 100;
    scanf("%d",&n);
    for(int i = 0;i max)
        {
            max = ret;
        }
         if(low >ret)
        {
            low = ret;
        }
    }
    printf("%d",(max-low));
    return 0;
}

牛客网刷题 | BC119 最高分与最低分之差插图(2)

牛客网刷题 | BC119 最高分与最低分之差插图(3)  

牛客网刷题 | BC119 最高分与最低分之差插图(4)

本站无任何商业行为
个人在线分享 » 牛客网刷题 | BC119 最高分与最低分之差
E-->