将数组中的数据组合在一起

时间:2013-04-08 11:12:35

标签: c# arrays

如果不使用List,ArraySort,Classes,Structs,Objects,LINQ等任何内容,我如何组合在一起说出我从调查中获得的年龄列表,数组中的每个元素代表一个人的年龄。

然后有一种方法可以计算每个年龄段的人数,然后将这些人分为5个年龄组,分别为0-18,18-30,31-45,46-64和65岁。比如有8个人年龄在18-30岁之类的东西。

我认为通过组合两种方式来实现这一点,首先是通过数据递增计数数组,然后使用while循环对数据进行分组,但它似乎只是显示年龄本身

1 个答案:

答案 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();
}