20230710

该程序使用C语言实现,通过两个函数分别计算给定数组的最大和与最大差值。首先对数组进行排序,然后返回最大的两个数之和及数组的最大值与最小值之差。在示例中,输入22个整数后,程序输出了排序后的数组、最大和为1311及最大差值为755。

 1.计算数组的最大和,以及最大差
要求:
定义函数实现返回最大差值
定义函数实现返回最大和值

 

#include <stdio.h>
#include <string.h>
#include <stdlib.h>

int MAXH(int arr[],int g);
int MAXH(int arr[],int g)
{
	int i,j;
	int maxhez;
	int temp;
	for(i=1;i<g;i++)
	{
		for(j=0;j<g-i;j++)
		{
			if(arr[j]>arr[j+1])
			{
				temp = arr[j];
				arr[j] = arr[j+1];
				arr[j+1] = temp;
			}
		}
	}
	printf("排序后的顺序为:\n");
	for(i=0;i<g;i++)
	{
		printf("%d ",arr[i]);
	}
	printf("\n");
	
	maxhez = arr[g-1] + arr[g-2];

return maxhez;
}

int MAXC(int arr[],int g);
int MAXC(int arr[],int g)
{
	int i,j;
	int maxchaz;
	int temp;
	for(i=1;i<g;i++)
	{
		for(j=0;j<g-i;j++)
		{
			if(arr[j]>arr[j+1])
			{
				temp = arr[j];
				arr[j] = arr[j+1];
				arr[j+1] = temp;
			}
		}
	}
	maxchaz = arr[g-1] - arr[0];
return maxchaz;
}


int main(int argc, const char *argv[])
{
	int n;
	printf("输入数组个数:\n");
	scanf("%d",&n);
	int arr[n];
	int i,j;
	int maxcha,maxhe;
	for(i=0;i<n;i++)
	{
		printf("请输入数组第%d个值:\n",i+1);
		scanf("%d",&arr[i]);
	}
	//输入数组
	printf("------------------------------\n");
	maxhe = MAXH(arr,n);
	printf("最大和值为;%d\n",maxhe);
	maxcha = MAXC(arr,n);
	printf("最大差值为;%d\n",maxcha);
	printf("------------------------------\n");


	return 0;
}

 

输入数组个数:
22
请输入数组第1个值:
60
请输入数组第2个值:
51
请输入数组第3个值:
23
请输入数组第4个值:
515
请输入数组第5个值:
554
请输入数组第6个值:
22
请输入数组第7个值:
54
请输入数组第8个值:
15
请输入数组第9个值:
46
请输入数组第10个值:
8
请输入数组第11个值:
5
请输入数组第12个值:
62
请输入数组第13个值:
45
请输入数组第14个值:
75
请输入数组第15个值:
5
请输入数组第16个值:

45 
请输入数组第17个值:
45
请输入数组第18个值:
757
请输入数组第19个值:
12
请输入数组第20个值:
5
请输入数组第21个值:
2
请输入数组第22个值:
27
------------------------------
排序后的顺序为:
2 5 5 5 8 12 15 22 23 27 45 45 45 46 51 54 60 62 75 515 554 757 
最大和值为;1311
最大差值为;755
------------------------------

 20230710 学习笔记思维导图

评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值