/*
最高分与最低分之差
描述:
输入n个成绩,换行输出n个成绩中最高分与最低分的差
输入描述:
两行,第一行为n,表示n个成绩,不会大于10000。
第二行为n个成绩(整数,范围0~100),以空格隔开。
输出描述:
一行,输出n个成绩中最高分与最低分的差
示例:
输入: 5
83 78 94 71 83 93
输出: 23
*/
#include <stdio.h>
/* 方式一:排序后再计算最高分和最低分之差 */
//int main() {
// //输入n
// int n = 0;
// scanf_s("%d",&n);
//
// //输入n个成绩
// int arr[100] = { 0 };
// int i = 0;
// for (i = 0; i < n; i++) {
// scanf_s("%d", &arr[i]);
// }
//
// //冒泡排序
// int tmp = 0;
// int j = 0;
// for (i = 0; i < n; i++) {
// for (j = 0; j < n - i - 1;j++) {
// if (arr[j] > arr[j + 1]) {
// tmp = arr[j];
// arr[j] = arr[j + 1];
// arr[j + 1] = tmp;
// }
// }
// }
//
// //最高分与最低分之差
// printf("%d", arr[n - 1]-arr[0]);
//
// return 0;
//}
/* 方式二:遍历数组找出最高分和最低分,再计算最高分和最低分之差 */
//int main() {
// //输入n
// int n = 0;
// scanf_s("%d", &n);
//
// //输入n个成绩
// int arr[100] = { 0 };
// int i = 0;
// for (i = 0; i < n; i++) {
// scanf_s("%d", &arr[i]);
// }
//
// //找出最高分数
// int max = arr[0];
// //找出最低分数
// int min = arr[0];
// for (i = 0; i < n; i++) {
// if (arr[i] > max) {
// max = arr[i];
// }
// if (arr[i] < min) {
// min = arr[i];
// }
// }
// //最高分与最低分之差
// printf("%d\n",max-min);
//
//}
/* 方式三:输入后就直接找出最高分和最低分,再计算最高分和最低分之差 */
int main() {
//输入n
int n = 0;
scanf_s("%d", &n);
int max = 0;
int min = 100;
//输入n个成绩
int arr[100] = { 0 };
int i = 0;
for (i = 0; i < n; i++) {
scanf_s("%d", &arr[i]);
if (arr[i] > max) { //找出最高分
max = arr[i];
}
if (arr[i] < min) { //找出最低分
min = arr[i];
}
}
//最高分与最低分之差
printf("%d\n", max - min);
}
C语言-最高分与最低分之差
最新推荐文章于 2024-04-26 16:38:11 发布