我正在尝试编写一个具有以下结构的程序:
struct aPlayer {
string name; // name of player
int wins; // number of wins player has
};
struct aCompetition {
string name; // name of the match
int numPlayers; // number of players in the club
aPlayer player[10]; // list of players in this club
};
从那里我想编写一个函数,按名称按字母顺序对玩家进行排序。函数声明如下:
void sortByName(aCompetition & c){}
注意:我想只使用 for 循环、while 循环和 if 语句来做到这一点。我认为比较这两个字符串的唯一方法是比较它们的 ASCII 值。我不知道该怎么做,所以任何输入都将不胜感激。谢谢!
原文由 Buffalo282 发布,翻译遵循 CC BY-SA 4.0 许可协议
假设这是为了家庭作业(如果不是,那么自己做这件事会比仅仅看到答案对你有很大帮助),我只想给你一些建议来帮助你。
比较 ASCII 值:
http://www.asciitable.com 获取 ascii 值。我建议在玩家名称上使用 tolower(),因为大写字母的值低于小写字母。
如果第一个数字相等,请转到第二个数字:(这样做的一种方法。)