【发布时间】:2021-12-26 09:54:39
【问题描述】:
我有一个包含 10 个国家/地区名称的字符串数组(最大长度为 100)。我有另一个数组,其中包含该国家赢得的相应总金额。这两个数组如下所示:
char countryNames[10][100] = {"Japan", "USA", "China", "ROC", "UK", "Australia",
"Kosova", "Italy", "France", "Canada"}
int totalMedals[10] = {13, 14, 18, 12, 7, 6, 2, 9, 5, 4}
所以日本赢得了 13 枚奖牌,美国赢得了 14 枚奖牌,等等。我很难找到一种方法来使用 * 将这些统计数据输出到垂直直方图中。这是我正在寻找的输出:
我找不到不是非常硬编码的解决方案。没有特定的间距,但我希望它看起来更像示例。 谁能帮我做这个?
【问题讨论】:
-
与其他任何事情一样,您必须在开始打印之前知道最高输出是多少,并且您必须确定每个
countryNames将使用哪一列。然后您知道您的直方图将需要显示很多(例如18)行。然后从0循环到18以输出直方图(或者您可以从18循环到0)然后只需按显示顺序检查每个国家,并在行索引包含该值时输出一个值直方图列 - 在该国家/地区从该行的开头偏移。 (这就是为什么你必须按顺序检查/输出) -
如果你用笔和纸,那你会怎么做?也许找出最高的“总奖牌”可能是一个好的开始?
-
您知道
for循环可以在任一方向循环,不仅从0到18,而且从18到0也同样简单?这种倒计时循环在这种情况下可能非常有用。