从键盘中输入10个不同的整数,找出其中的最大值和最小值,将最大值...
发布网友
发布时间:2024-05-08 01:30
我来回答
共3个回答
热心网友
时间:2024-06-16 00:36
1.找出数组中的最大值和最小值索引位置,然后将其交换即可
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
#include <stdio.h>
// 交换最大、最小值位置
void SwapLimVal(int *src, int len)
{
int max , min, maxlen = 0, minlen = 0;
max = min = src[0]; // 初始化最大、最小值暂时为第一个
for (int i = 1; i < len; i++)
{
if (max < src[i]) // 元素如果比最大数的,则重置最大值,及其索引
{
max = src[i];
maxlen = i;
}
else if (min > src[i])// 元素如果比最小数的,则重置最小值,及其索引
{
min = src[i];
minlen = i;
}
}
if (maxlen == minlen) // 如果所有值一样,不用交换
return;
int tem = src[maxlen]; // 交换最大、最小值
src[maxlen] = src[minlen];
src[minlen] = tem;
}
int main()
{
int a[10];
printf("intput 10 number : "); // 输入10个整数
for (int i = 0; i < 10; i++)
scanf("%d", &a[i]);
SwapLimVal(a, 10);
for (int i = 0; i < 10; i++) // 输出交换结果
printf("%d ", a[i]);
return 0;
}
热心网友
时间:2024-06-16 00:39
冒泡排序
热心网友
时间:2024-06-16 00:36
int max,min,m,n;
max=min=a[0];
m=n=0;
for(int i=1;i!=10;++i)
{
if(a[i]>max)
{max=a[i];
m=i;
}
if(a[i]<min)
{min=a[i];
n=i;
}
}
int temp=a[m];
a[m]=a[n];
a[n]=temp;
输出你会吧不写了