你好,我是一名业余程序员,更糟糕的是,我已经有一段时间没有进行任何编程了,所以我决定用一些简单的 Topcoder 问题来刷新我的记忆。我做的第一个最终是段错误,现在这超出了我自己的能力范围,谁能帮助我了解段错误的来源。这是代码。
vector<int> Bonuses (vector<int> points)
{
int totalPoints = 0;
for (int i = 0; i != points.size(); ++i)
{
totalPoints += points[i];
}
vector<int> percentage;
int percentageLeft = 100;
int truncatedPercentage;
for (int i = 0; i != points.size(); ++i)
{
truncatedPercentage = points[i]/totalPoints;
percentage.push_back(truncatedPercentage);
percentageLeft -= truncatedPercentage;
}
for (int i = 1;i <= percentageLeft; ++i)
{
percentage[percentage.size() - i] += 1;
}
return percentage;
}