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;
}