【Cousera】北京大学 | 计算导论与C语言基础习题_6:称体重

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

输入

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

样例输出
z 10
q 20
s 30
l 40
(以上输出仅用于说明格式)
代码

#include "pch.h"
#include <iostream>
#include<stdio.h>
using namespace std;

int main()
{
	int weight_z, weight_q, weight_s, weight_l;//定义四个人的体重
	for (weight_z = 1; weight_z <=5; weight_z++)
	{
		for (weight_q = 1; weight_q <= 5; weight_q++)
		{
			for (weight_s = 1; weight_s <= 5; weight_s++)
			{
				for (weight_l = 1; weight_l <= 5; weight_l++)
				{
					if (weight_z!= weight_q&& weight_z != weight_s && weight_z != weight_l
						&& weight_q != weight_s && weight_q != weight_l && weight_s != weight_l
						&& weight_z+ weight_q== weight_s+ weight_l&& weight_z + weight_l >weight_s + weight_q
						&& weight_z + weight_s <weight_q)
					{
						//得到确定的数之后进行排序输出
						char name[4] = { 'z','q','s','l' };
						int arry[4] = { weight_z, weight_q, weight_s, weight_l };
						for (int i = 0; i < 4; i++)
							for (int j = 0; j < 3 - i ; j++)
							{
								if (arry[j] > arry[j + 1]) 
								{
									int temp1 = arry[j]; arry[j] = arry[j + 1]; arry[j + 1] = temp1;
									char temp2= name[j]; name[j] = name[j + 1]; name[j + 1] = temp2;
								}
							}
						for (int i = 0; i < 4; i++)
						{
							cout << name[i] << " " << arry[i] * 10 << endl;
						}
						//跳出循环
						weight_z = 10; weight_q = 10; weight_s = 10;
						break;
					}
				}
			}
		}
	}
	return 0;
}
  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值