将来自数组的数据分组在一起

本文关键字:在一起 数据 数组 将来 | 更新日期: 2023-09-27 18:08:15

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

然后用一种方法计算每个年龄段的人数,然后将这些人分为5个年龄组,0-18岁、18-30岁、31-45岁、46-64岁和65岁及以上。假设有8个人年龄在18-30岁之间,就像这样。

我认为我通过结合两种方法来完成它,首先是通过数据数组增加计数数组,另一个是使用while循环对数据进行分组,但它似乎只是显示年龄本身。

将来自数组的数据分组在一起

初始化

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