永发信息网

C# foreach (var grade in grades) {++frequency[grade / 10]; } 请详细点 谢谢

答案:2  悬赏:40  手机版
解决时间 2021-02-20 06:34
private int[] grades;
public void OutputBarChart()
{
Console.WriteLine("Grade distribution:");

// stores frequency of grades in each range of 10 grades
var frequency = new int[11];

// for each grade, increment the appropriate frequency
foreach (var grade in grades)
{
++frequency[grade / 10];
// 这里为什么要除以10?然后是如何计算得出来的数列frequency
}

// for each grade frequency, display bar in chart
for (var count = 0; count < frequency.Length; ++count)
{
// output bar label ("00-09: ", ..., "90-99: ", "100: ")
if (count == 10)
{
Console.Write(" 100: ");
}
else
{
Console.Write($"{count * 10:D2}-{count * 10 + 9:D2}: ");
}

// display bar of asterisks
for (var stars = 0; stars < frequency[count]; ++stars)
{
Console.Write("*");
}

Console.WriteLine(); // start a new line of output
}
}
最佳答案
从代码上来看,是统计 grades 这个数组在 0-100 上的分布,每隔 10 为一个间隔。

frequency 这个数组有 11 个元素,分别代表 grades 数组中的元素在 00-09、10-19、20-29、30-39、40-49、50-59、60-69、70-79、80-89、90-99、100 这些范围内出现的次数。

grade / 10,两个 int 相整除,得到的还是一个 int,比如 49 / 100 = 4,而 frequency[4] 恰好就代表 40-49 这个范围,++ 就不用解释了吧?
全部回答
搜一下:C# foreach (var grade in grades) {++frequency[grade / 10]; } 请详细点 谢谢
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
2009年5月25日,中石油股票小幅上涨1.87%,以
长的丑成绩又差,做人又不行!到底怎么办才好
农历4月初9是什么星座
希望路怎么去啊,有知道地址的么
铃木锋驭车辆型号最后的字母代表是什么意思
需要二维角点或选项关键字是是什么意思
以迷恋为题的现代诗
流水施工参数包括哪些内容?
信环北街/信环西路(路口)地址有知道的么?有
地磁场对生物的影响,要具体点啊
珠江玻璃店地址在什么地方,想过去办事
酷狗里两个人唱的歌怎样合成
长沙汽车西站下午5点10分到茶陵的车司机的电
达福鑫什么时候开始招工
lg25+2/3lg8+lg5*lg20+lg²2
推荐资讯
榆林市流动人口计划生育服务管理办公室怎么去
请问鬼鬼喜欢的那个ZOOMIN店在台湾哪里?具体
ems从深圳到安远要多久
萧县宿州中国邮政储蓄银行24小时自助银行(萧
订巽寮湾那边酒店好还是双月湾好,有什么酒店
大侠们,救救小弟啊~~~一篇英文作文:if I hav
形容佛法的词语
什么叫中药材
【dui】在药学中DUI什么意思
低配电脑装win7运行慢怎么办
给小孩子段奶几天了,现在感觉胸一个大一个小
日本的煤气热水器在国内能使用吗
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?