C语言 数组中查找其中的最大值,最小值

一个数组输入10个数字(可以自定义),查找出其中的最大值,最小值,然后输出最大值、最小值

1.直接比较找出最大值,最小值

先设立max、min初始化为a[0](第一个数字),然后依次比较 ,如果小的话那么min赋值为a[i],如果大的话就max赋值为a[i]。

#include
int main()
{
	int a[10];
	for (int i = 0; i < 10; i++)//输入10个数字
		scanf("%d", &a[i]);

	int max = a[0];//最大值初始化为a[0]
	for (int i = 1; i < 10; i++)
	{
		if (max < a[i])
			max = a[i];
	}
	int min = a[0];
	for (int i = 1; i < 10; i++)
	{
		if (min > a[i])
			max = a[i];
	}
	printf("%d %d", max,min);
}

结果如下:

C语言 数组中查找其中的最大值,最小值_第1张图片

2.排序好输出最大值、最小值。

先通过排序法(冒泡排序、插入排序等),先排好序,然后直接输出最大值,最小值

代码如下:

#include
int main()
{
	int a[10];
	for (int i = 0; i < 10; i++)//输入10个数字
		scanf("%d", &a[i]);
	for (int i = 0; i < 9; i++)
	{
		for (int j = 0; j < 9-i; j++)//先排序
		{
			if (a[j] > a[j+1]) {
				int temp = a[j];
				a[j] = a[j+1];
				a[j+1] = temp;
			}
		}
	}
	for (int i = 0; i < 10; i++)//逐个输出数组
		printf("%d ", a[i]);
	printf("\n%d %d", a[0], a[9]);//输出最大值、最小值
}

结果如下:C语言 数组中查找其中的最大值,最小值_第2张图片

你可能感兴趣的:(c语言,算法)