题解 | #最高分与最低分之差#
最高分与最低分之差
https://www.nowcoder.com/practice/e0e4f81dcd55408a8973f8033bbeb1d2
这道题使用变量循环赋值完全没问题,但是使用数组是总是导致数组越界,下面是我做好的一个数组实例,虽然能通过,但是我觉得并不够优秀,但经历几次修改,我实在优化不来。
描述
输入n个成绩,换行输出n个成绩中最高分数和最低分数的差。
输入描述:
两行,第一行为n,表示n个成绩,不会大于10000。
第二行为n个成绩(整数表示,范围0~100),以空格隔开。
输出描述:
一行,输出n个成绩中最高分数和最低分数的差。
#include <ctype.h> #include <stdio.h> //数组循环赋值法 int main() { int n; int mark[n]; scanf("%d",&n); int max = 0, min=100; int score = 0; int i =0; for(i = 0;i < n;i++) //n个成绩 { scanf("%d",&score); mark[i] = score; max = mark[i] > max?mark[i]:max; //判断最大 min = mark[i] < min?mark[i]:min; //判断最小 } printf("%d",max - min); return 0; }