【魔改练习题】五只小猪称体重

语言:C++

原题:在一个数组中记录了五只小猪的体重,如:int arr[5] = {300,350,200,400,250};  找出并打印最重的小猪体重。

魔改后需求:能够在输入五只小猪的体重后对其进行比较,显示哪几只小猪是最重的小猪,以及最重的小猪的重量

难点:如何在多只小猪同时最重时,用顿号将其分隔开,使输出的语句具有较高的流畅性和可读性

解决思路:使用一个变量对最重的小猪的只数进行统计,当最重的小猪只数大于1时,在输出的语句中的,下一只最重的小猪的编号前输出一个顿号。

#include<iostream>
using namespace std;

int main()
{
	//创建记录小猪体重的数组,用heaviest记录最重的小猪
	int weight[5];
	int heaviest = 0;

	//输入并储存五只小猪的体重
	for (int i = 0; i < 5; i++)
	{
		cout << "请输入第" << i + 1 << "只小猪的体重:";
		cin >> weight[i];
		if (weight[i] > heaviest)
		{
			heaviest = weight[i];
		}
	}

	//创建变量a存储有几只最重的小猪
	int a = 0;

	//判断哪只小猪最重,并输出
	cout << "第";
	for (int i2 = 0; i2 < 5; i2++)
	{
		if (heaviest == weight[i2])
		{
			a += 1;
			//如果同时有两只以上小猪最重,就在它们中间加顿号
			if (a > 1)
			{
				cout << "、";
			}
			cout << i2 + 1;
		}
	}
	cout << "只小猪是最重的小猪,重量为" << heaviest << "。" << endl;

	system("pause");

	return 0;
}

上一篇:字节面试算法题-0,1背包问题


下一篇:CSS样式3