n个分数,求最高分与最低分之差,分数介于0—100。
#include <stdio.h>
//n个分数,求最高分与最低分之差
int main()
{
int arr[50] = {0};
//int arr[50] = {1,2,3,4,5};
int n = 0;
int max = 0;
int min = 0;
int i = 0;
int sub = 0;
scanf("%d",&n);
for(i = 0;i < n;i++)
scanf("%d",&arr[i]);
max = arr[0];
min = arr[0];
for(i = 0;i < n;i++)
{
if(arr[i] > max)
{
max = arr[i];
}
if(arr[i] < min)
{
min = arr[i];
}
}
sub = max - min;
printf("%d\n",sub);
return 0;
}
这种代码把最大值和最小值放到一个循环里,一次循环就能算出,但是一开始输入也有一个循环,等所有数据都输入了再计算最大值,最小值,也可以在输入数据时就进行比较,找出最大最小值。
max = 0,所有成绩一定大于等于0,一定可以完成替换,最后的max值一定会是某个成绩或者和某个成绩相等。
min= 0,所有成绩一定小于等于100,一定可以完成替换,最后的min值一定会是某个成绩或者和某个成绩相等。
#include <stdio.h>
//n个分数,求最高分与最低分之差
int main()
{
int arr[50] = {0};
int n = 0;
int max = 0;
int min = 100;
int i = 0;
int sub = 0;
scanf("%d",&n);
for(i = 0;i < n;i++)
{
scanf("%d",&arr[i]);
if(arr[i] > max)
max = arr[i];
if(arr[i] < min)
min = arr[i];
}
sub = max - min;
printf("%d\n",sub);
return 0;
}