题目:输⼊10个整数,写代码找出其中最⼤值和最⼩值,计算最⼤值和最⼩值的差,并打印出差值结果
先看代码下面有解析:
#include <stdio.h>
#include <limits.h>
int main()
{
int arr[10] = { 0 };
//输⼊数据
int i = 0;
for (i = 0; i < 10; i++)
{
scanf("%d", &arr[i]);
}
//将两个最值初始化为第⼀个数
int Max = arr[0];
int Min = arr[0];
//遍历剩余9个数
for (i = 1; i < 10; i++)
{
//判断当前数⼤⼩并更新最值
if (arr[i] > Max)
Max = arr[i];
if (arr[i] < Min)
Min = arr[i];
}
//输出两最值的差
printf("%d\n", Max - Min);
return 0;
}
自我解析
首先要找出一个数组的数字,那就得把里面的元素全都拿出来把。
第一个for循环,加上scanf 则就是输入10个数字。
将 max 和 min 的值定义为数组第一个数字(在后面与数组后面的数字一 一对比)。
第二个for循环,从1 开始的原因是max和 min 的初始化已经是arr[ 0 ]了所以不需要与0比较。则就是把数组里的数组全拿出来,和max 和 min 做比较,如果比max大,max 就变为 新的 arr[ i ],如果 比 min 还小的话 那min就变为新的arr[ i ].
最后在输出max - min 即可。