题目描述
输入n个成绩,换行输出n个成绩中最高分数和最低分数的差。
输入描述:
两行,第一行为n,表示n个成绩,不会大于10000。
第二行为n个成绩(整数表示,范围0~100),以空格隔开。
输出描述:
一行,输出n个成绩中最高分数和最低分数的差。
解题思路
利用一个一维数组存储输入的n个数字,然后通过对比找到最大最小值,输出他们之差。
代码
#include<iostream> using namespace std; int main() { int n; cin>>n; int a[n+1];//放置索引越界,将数组定义的大一些 int max=0,min=100;//先定义最小和最大,后面通过比较不断改变最小值和最大值 for(int i=0;i<n;++i) { cin>>a[i]; if(max<a[i]) max=a[i];//存在元素比max大,则max等于它 if(min>a[i]) min=a[i];//存在元素比min小,则min等于它 } cout<<max-min<<endl;//遍历完整个数组就得到了最大值和最小值。输出他们的差值 return 0; }