hello,我又来学习了,今天的题目比较简单。十个数中找出最大值和最小值。你心中是否有了相应的代码块?
十个数我就把它们放进数组里面,这样我好统一管理咯,哈哈。
int arr[10] = {4,8,10,5,3,5,2,7,1,5};
找出最大值和最小值,我们会拿出一个数和其他另外的每个数进行比较大小吧。每一个数都要与它比较,那么是不是会用到循环呢,循环一次就会比较一次,直到找到最大值和最小值。那我们就拿出第一个数与后面的进行比较,谁叫它排第一个呢。
for(int i = 1;i<10;i++);//因为我们拿出了第一位,数组的下标是从0开始的,所以i=1,而且会少循环一次,这些小细节一定要拿捏好哟。
能力越大,那么责任就越大咯,我不仅要拿第一个数与其他数进行比较,还要假设它就是最大值和最小值。哈哈,我就是看不惯它,当然用其他的也行。
int max = arr[0];
int min = arr[0];
好了,问题已经解决了,直接上车(其实上代码咯)!
#define _CRT_SECURE_NO_WARNINGS 1
#include <stdio.h>
int main()
{
int arr[10] = { 4,8,10,5,3,5,2,7,1,5 };
int max = arr[0];
int min = arr[0];
for (int i = 1; i <10; i++)
{
if (max < arr[i])
{
max = arr[i];
}
if (min > arr[i])
{
min = arr[i];
}
}
printf("最大值是:%d\n", max);
printf("最小值是:%d\n", min);
return 0;
}
结果展示:
当然,可能还会有一些小伙伴,不想拿第一个数与其他进行比较。直接假设了最大值和最小值,然后把它们习惯性的赋初值为零,然后去比较。
#define _CRT_SECURE_NO_WARNINGS 1
#include <stdio.h>
int main()
{
int arr[10] = { 4,8,10,5,3,5,2,7,1,5 };
int max = 0;
int min = 0;
for (int i = 0; i <10; i++)
{
if (max < arr[i])
{
max = arr[i];
}
if (min > arr[i])
{
min = arr[i];
}
}
printf("最大值是:%d\n", max);
printf("最小值是:%d\n", min);
return 0;
}
结果展示:
但是此时的最小值找出来会是错的,想想会是哪点出错了呢?评论区告诉我哟。
答对的奖励 “❀❀❀”,这可是小红花哟!