1.設計思路:這次要找3個水王,是以我這次在上次的基礎上設定了3個水王的權值。
2.代碼
#include <iostream>
#include<string>
using namespace std;
#define N 100
int main() {
int n, i, X[N];
string ID[N];
cout << "請輸入文章總數:" << endl;
cin >> n;
cout << "請輸入文章序号以及其相對應的ID:" << endl;
for (i = 0; i < n; i++)
{
cin >> X[i];
cin >> ID[i];
}
cout << "文章表為:" << endl;
cout << "序号" << '\t' << "ID" << endl;
for (i = 0; i < n; i++)
{
cout << "\t" << X[i] << '\t' << ID[i] << endl;
}
int quanzhi[3] = { 0 }, water[3] = { 0,1,2 };
for (int i = 0; i<n; i++)
{
if (ID[water[0]] == ID[i])
{
quanzhi[0]++;
}
else if (ID[water[1]] == ID[i])
{
quanzhi[1]++;
}
else if (ID[water[2]] == ID[i])
{
quanzhi[2]++;
}
else if (quanzhi[0] == 0)
{
ID[water[0]] = ID[i];
}
else if (quanzhi[1] == 0)
{
ID[water[1]] = ID[i];
}
else if (quanzhi[2] == 0)
{
ID[water[2]] = ID[i];
}
else
{
quanzhi[0]--;
quanzhi[1]--;
quanzhi[2]--;
}
}
for (int i = 0; i<3; i++)
{
cout << "第 " << i + 1 << " 個水王是:" << ID[water[i]] << endl;
}
}
3.程式截圖