描述
输入n个成绩,换行输出n个成绩中最高分数和最低分数的差。
输入描述:
两行,第一行为n,表示n个成绩,不会大于10000。
第二行为n个成绩(整数表示,范围0~100),以空格隔开。输出描述:
一行,输出n个成绩中最高分数和最低分数的差。
解答:
#include <stdio.h>
int main()
{
int n = 0;
scanf("%d",&n);
int arr[10000] = { 0 };
//若支持C99可用变长数组 int arr[n];
int i = 0;
//输入
for (i = 0; i < n; i++)
{
scanf("%d",&arr[i]);
}
//初始化变量
int max = arr[0];//假设第一个值最大
int min = arr[0];//假设第一个值也是最小的
for (i = 1; i < n; i++)//在一个for循环中完成,简化代码
{
//遍历数组找出最大最小值
if (arr[i] > max)
max = arr[i];
if (arr[i] < min)
min = arr[i];
}
//打印结果
printf("%d\n", max - min);
return 0;
}