一个数组输入10个数字(可以自定义),查找出其中的最大值,最小值,然后输出最大值、最小值
1.直接比较找出最大值,最小值
先设立max、min初始化为a[0](第一个数字),然后依次比较 ,如果小的话那么min赋值为a[i],如果大的话就max赋值为a[i]。
#include<stdio.h>
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])
min = a[i];
}
printf("%d %d", max,min);
}
结果如下:
2.排序好输出最大值、最小值。
先通过排序法(冒泡排序、插入排序等),先排好序,然后直接输出最大值,最小值
代码如下:
#include<stdio.h>
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]);//输出最大值、最小值
}
结果如下: