如果不使用List,ArraySort,Classes,Structs,Objects,LINQ等任何内容,我如何组合在一起说出我从调查中获得的年龄列表,数组中的每个元素代表一个人的年龄。
然后有一种方法可以计算每个年龄段的人数,然后将这些人分为5个年龄组,分别为0-18,18-30,31-45,46-64和65岁。比如有8个人年龄在18-30岁之类的东西。
我认为通过组合两种方式来实现这一点,首先是通过数据递增计数数组,然后使用while循环对数据进行分组,但它似乎只是显示年龄本身
答案 0 :(得分:1)
初始化
int[] input = new int[] { 5, 10, 20, 35, 50, 68 };
int[,] ageGroups = new int[5, input.Length];
int[] ageCounters = new int[5];
分组
foreach(int age in input)
{
if(age >= 0 && age < 18)
{
ageGroups[0, ageCounters[0]] = age;
ageCounters[0]++;
}
else if(age >= 18 && age <= 30)
{
ageGroups[1, ageCounters[1]] = age;
ageCounters[1]++;
}
else if(age >= 31 && age <= 45)
{
ageGroups[2, ageCounters[2]] = age;
ageCounters[2]++;
}
else if(age >= 46 && age <= 64)
{
ageGroups[3, ageCounters[3]] = age;
ageCounters[3]++;
}
else if(age >= 65)
{
ageGroups[4, ageCounters[4]] = age;
ageCounters[4]++;
}
}
显示
for(int i = 0; i < 5; i++)
{
for(int j = 0; j < ageCounters[i]; j++)
{
Console.Write(ageGroups[i, j] + " ");
}
Console.WriteLine();
}