语言: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;
}