NOI OJ 1.5 06:整数序列的元素最大跨度值 C语言

描述

给定一个长度为n的非负整数序列,请计算序列的最大跨度值(最大跨度值 = 最大值减去最小值)。

输入

一共2行,第一行为序列的个数n(1 <= n <= 1000),第二行为序列的n个不超过1000的非负整数,整数之间以一个空格分隔。

输出

输出一行,表示序列的最大跨度值。

这题的思路和上题基本一致(1.5  05可以去看我的上一篇文章)

只是上一题只要最大值,而这一题还需要一个最小值

所以我们不妨在定义一个变量min用选择语句求出最小值

#include<stdio.h>
int main(){
int a,b,c,max=0,min=1000;//因为我们输入的值不会大于1000(题目要求)所以我们不妨设min初始值为1000
scanf("%d",&a);
for (b=1;b<=a;b++){
    scanf("%d",&c);
    if (c>=max){  //每次循环进行比较,得出最大值
        max=c;
    }
    if (c<=min){  //每次循环进行比较,得出最小值
        min=c;
    }
}
printf("%d",max-min);//最大跨度值 = 最大值减去最小值
return 0;
}
#include<stdio.h>
int main(){
int a,b=1,c,max=0,min=1000;//因为我们输入的值不会大于1000(题目要求)所以我们不妨设min初始值为1000
scanf("%d",&a);
while(b<=a){
    scanf("%d",&c);
    if (c>=max){  //每次循环进行比较,得出最大值
        max=c;
    }
    if (c<=min){  //每次循环进行比较,得出最小值
        min=c;
    }
    b++;
}
printf("%d",max-min);//最大跨度值 = 最大值减去最小值
return 0;
}

上一篇:NOI 系列赛常见技术问题整理


下一篇:java8--- groupingBy