我一直在尝试用C++来编程的问题。这是个问题(看第13页和第14):https://www.cs.auckland.ac.nz/~mjd/prog_contest/problems/NZPC2017.pdfC++音乐会
这是我到目前为止的代码:
#include <iostream>
#include <string>
using namespace std;
//Defining player
class Player
{
public:
string name;
int chair;
};
Player players[15];
//Eliminates a player
void eliminateP(int numPlayers, int rounds[])
{
int e = 0;
for (int i = 0; i < numPlayers; i++)
{
if (players[i].chair == rounds[0])
{
e = i;
break;
}
}
cout << players[e].name << " has been eliminated." << endl;
for (; e < numPlayers-1; e++)
{
players[e] = players[e + 1];
}
}
//Proceed a round
void doRound(int numPlayers, int rounds[])
{
for (int i = 0; i < numPlayers; i++)
{
players[i].chair += rounds[1];
while (players[i].chair > numPlayers)
{
players[i].chair -= numPlayers;
if (players[i].chair <= 0)
{
players[i].chair += numPlayers;
}
}
}
eliminateP(numPlayers, rounds);
}
//Main function
int main()
{
int numPlayers;
cin >> numPlayers;
for (int i = 0; i < numPlayers; i++)
{
cin >> players[i].name;
players[i].chair = i + 1;
}
int numRounds;
cin >> numRounds;
int rounds[15][2];
for (int i = 0; i < numRounds; i++)
{
cin >> rounds[i][0] >> rounds[i][1];
}
for (int i = 0; i < numRounds; i++)
{
doRound(numPlayers, rounds[i]);
numPlayers--;
}
return 0;
}
奇怪的是,这个代码将样品输入工作/输出2,但在样品输入/输出1.
有人可以给我提示,并告诉我什么是我的代码错?提前致谢。
感谢您的回复。我的代码现在似乎工作。 – ianc1339