CJJ打卡-----称体重

今天复习的知识点:

1、循环

2、选择排序

3、结构(话说做这道题的时候 突然想起来考试的时候定义结构忘记加分号了T--T)

题目:称体重

描述:

赵、钱、孙、李四个人中既有大人也有小孩,给他们称体重时发现,他们每个人的体重都不一样,且体重(单位:公斤)恰好是10的整数倍,且他们的体重都不高 于50公斤,已知赵、钱两人的体重之和恰好等于孙、李两人的体重之和;赵、李两人的体重之和大于孙、钱两人的体重之和,并且赵、孙俩人的体重之和还小于钱的体重。请编写一个程序,按照体重从小到大的顺序,打印出四人的姓氏的首字母和体重数。

输入:

输出:

打印出四人的姓氏的首字母(小写)和体重数(每人一行,姓名首字母和体重数之间用空格隔开)。

#include<iostream>
#include<cstring>
using namespace std;
struct w
{
	char name;
	int weight;
};
void sort(w a[],int n)
{
	w max;
	for(int i=0;i<n-1;i++)
	{
		max=a[i];
		for(int j=i+1;j<n;j++)
		{
			if(a[j].weight>max.weight) 
			{
				max=a[j];
				a[j]=a[i];
				a[i]=max;
			}
		}
	}
}
int main()
{
	int flag=0;
	w wa[5];
	wa[0].name='z';
	wa[1].name='q';
	wa[2].name='s';
	wa[3].name='l';
	for(wa[0].weight=10;wa[0].weight<=50;wa[0].weight+=10)
	{
		for(wa[1].weight=10;wa[1].weight<=50;wa[1].weight+=10)
	{
			for(wa[2].weight=10;wa[2].weight<=50;wa[2].weight+=10)
	{
				for(wa[3].weight=10;wa[3].weight<=50;wa[3].weight+=10)
	{
		if(wa[0].weight+wa[1].weight==wa[2].weight+wa[3].weight&&
		   wa[0].weight+wa[3].weight>wa[1].weight+wa[2].weight&&
		   wa[0].weight+wa[2].weight<wa[1].weight&&
		   wa[0].weight!=wa[1].weight&&
		   wa[0].weight!=wa[2].weight&&
		   wa[0].weight!=wa[3].weight&&
		   wa[1].weight!=wa[2].weight&&
		   wa[1].weight!=wa[3].weight&&
		   wa[2].weight!=wa[3].weight
		   )
		   {
		   		flag=1;
		   		break;
		   }
	}
		if(flag==1) break;
	}
		if(flag==1) break;
	}
		if(flag==1) break;
	}
	sort(wa,4);
	for(int i=3;i>=0;i--)
	cout<<wa[i].name<<" "<<wa[i].weight<<endl;
}

                                                                                                                   -------------

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值