0
点赞
收藏
分享

微信扫一扫

C语言 从n个人中选出身高最小的两个人作为礼仪,如果差值相同的话,选取其中最高的两人,要求输出两个礼仪的身高。

q松_松q 2022-03-16 阅读 62
//学习记录
#include<stdio.h>
int main()

{	int n,j=0,k=j+1,min=1000,A,temp,p=0,num1,num2;
	printf("请输入司仪的人数:");
	scanf("%d",&n);
	int  a[n]={0};
	printf("请输入每个人身高的大小:");
	for(int i=0;i<n;i++)
	{
		scanf("%d",&a[i]);
	}
	int flag=n;
	for(int i=1 ; i<n ; i++)   //按顺序排列 
	{
		while((p+1)<=flag)
		{
			if(a[p]>a[p+1])
			{
				temp=a[p];
				a[p]=a[p+1];
				a[p+1]=temp;
			}
			p++;
		}
		flag=p-1;
		p=0;
	}
	while(k<n)    //比较 
	{
		A=a[k]-a[j];
		if(A<min && A>0)
		{
			min=A;
			num1=a[j];
			num2=a[k]; 
		}
		else if(A==min)
		{
			if((a[j]+a[k]) >num1+num2)
			{
				num1=a[j];
				num2=a[k];
			}
		}
		j++;
		k++;	
	}
	printf("差值最小的是%d,他们的身高为%d %d",min,num1,num2);
}
举报

相关推荐

0 条评论