本文共 1062 字,大约阅读时间需要 3 分钟。
#include <stdio.h>
#include <string.h> #include <stdlib.h> int max_sum(); int min_sum(); int max_sub(); int main(int argc, const char *argv[]) { int n; printf("请输入数组个数:"); scanf("%d",&n); int num[n]; printf("请输入数组元素:"); for(int i=0;i<n;i++) scanf("%d",num+i); int len=sizeof(num)/sizeof(num[0]); printf("最大和=%d\n",max_sum(num,len)); printf("最小和=%d\n",min_sum(num,len)); printf("最大差=%d\n",max_sub(num,len)); return 0; } int max_sum(int num[],int len) { int max1=num[0]; int max2=num[1]; int k=0; for(int i=0;i<len;i++) { if(i!=1) if(max1<num[i]) { max1=num[i]; k=i; } } for(int i=0;i<len;i++) { if(i!=k) if(max2<num[i]) max2=num[i]; } return max1+max2; } int min_sum(int num[],int len) { int min1=num[0]; int min2=num[1]; int k=0; for(int i=0;i<len;i++) { if(min1>num[i]) { min1=num[i]; k=i; } } for(int i=0;i<len;i++) { if(i!=k) if(min2>num[i]) min2=num[i]; } return min1+min2; } int max_sub(int num[],int len) { int max=num[0]; int min=num[1]; for(int i=0;i<len;i++) if(max<num[i]) max=num[i]; for(int i=0;i<len;i++) if(min>num[i]) min=num[i]; return max-min; }
转载地址:http://etvduy.baihongyu.com/