#include <stdio.h>
#include <string.h>
#include <stdlib.h>
//数组最大差值
int Max_cha(int arr[],int len)
{
int max=arr[0];
int min=arr[0];
for(int i=0; i<len; i++)
{
if(max<arr[i]) max=arr[i];
if(min>arr[i]) min=arr[i];
}
return max-min;
}
//选择排序
void xzpx(int arr[],int n)
{
for(int i=0; i<n-1; i++)
{
int s=i;
for(int j=i+1; j<n; j++)
{
if(arr[s]>arr[j])
{
s=j;
}
}
if(i!=s)
{
int temp=arr[s];
arr[s]=arr[i];
arr[i]=temp;
}
}
}
//数组最小和
int Min_sum(int arr[],int n)
{
xzpx(arr,n);
return arr[0]+arr[1];
}
//数组最大和
int Max_sum(int arr[], int n)
{
xzpx(arr,n);
return arr[n-2]+arr[n-1];
}
int main(int argc, const char *argv[])
{
int n;
printf("请输入数组个数:");
scanf("%d",&n);
int arr[n];
printf("请输入数组:");
for(int i=0; i<n; i++)
{
scanf("%d",&arr[i]);
}
int k=Max_cha(arr,n);
printf("数组最大差值:%d\n",k);
int f=Min_sum(arr,n);
printf("数组最小和:%d\n",f);
int h=Max_sum(arr,n);
printf("数组最大和:%d\n",h);
return 0;
}
思维导图: