int[] scores = { 15, 37, 50, 77, 91, 23, 48, 60, 83, 100 };
var scoreGroup = from score in scores
orderby score descending// 先由高到低排序
let temp1 = score / 10// 除10
let temp2 = Math.Min(temp1, 9)// 将10变成9
let temp3 = temp2 - 5// 减5
let temp4 = Math.Max(temp3, 0)// 将负数都变成0
let temp5 = (char)('E' - temp4)// 得出分级
group score by temp5 into g// 根据分级分组
select g;
foreach (var group in scoreGroup)
{
foreach (int score in group)
{
Console.Write(group.Key + ":" + score + " ");
}
Console.WriteLine();
}
E:0~59
D:60~69
C:70~79
B:80~89
A:90~100