题目描述
给出 n n n 和 n n n 个整数 a i a_i ai,求这 n n n 个整数中的极差是什么。极差的意思是一组数中的最大值减去最小值的差。
输入格式
第一行输入一个正整数 n n n,表示整数个数。
第二行输入 n n n 个整数 a 1 , a 2 ... a n a_1,a_2 \dots a_n a1,a2...an,以空格隔开。
输出格式
输出一个整数,表示这 n n n 个整数的极差。
1.题目分析
将整数存入数组,直接升序排序后,打印最大索引减最小索引的值即可。
排序的方式有很多,这里用最简单的冒泡排序。
2.题目思路
写一个冒泡排序的函数,键入数据到数组后,直接调用,打印,完。
当然不写函数也是可以的,函数的目的是只是为了提高代码的复用性。
3.代码实现
c
#include <stdio.h>
//冒泡排序
void BubbleSort(int *p, int len) {
int temp;
for (int i = 0; i < len - 1; ++i) {
for (int j = 0; j < len - i - 1; ++j) {
if (p[j] > p[j + 1]) {
temp = p[j];
p[j] = p[j + 1];
p[j + 1] = temp;
}
}
}
}
int main() {
int n, a;
int arr[100];
scanf("%d", &n);
//键入数据
for (int i = 0; i < n; ++i) {
scanf("%d", &a);
arr[i] = a;
}
//排序
BubbleSort(arr, n);
//最大减最小
printf("%d", arr[n - 1] - arr[0]);
return 0;
}