Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/302.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 将数组中的数据分组在一起_C#_Arrays - Fatal编程技术网

C# 将数组中的数据分组在一起

C# 将数组中的数据分组在一起,c#,arrays,C#,Arrays,如果不使用列表、数组排序、类、结构、对象、LINQ等,我如何将从调查中获取的年龄列表分组,数组中的每个元素表示一个人的年龄 然后用一种方法计算每个年龄段的人数,然后将这些人分为5个年龄组,0-18岁、18-30岁、31-45岁、46-64岁和65岁及以上。比如说有8个人年龄在18-30岁左右 我认为我通过结合两种方法实现了这一点,第一种方法是通过数组与数据一起递增计数数组,另一种方法是使用while循环对数据进行分组,但它似乎只显示年龄本身。 int[] input = new int[] {

如果不使用列表、数组排序、类、结构、对象、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]++;
    }
}
foreach(输入中的整数)
{
如果(年龄>=0&&18岁)
{
年龄组[0,年龄计数器[0]]=年龄;
年龄计数器[0]++;
}
否则,如果(年龄>=18岁和年龄=31岁和年龄=46岁和年龄=65岁)
{
年龄组[4,年龄计数器[4]]=年龄;
年龄计数器[4]++;
}
}
展示

for(int i = 0; i < 5; i++)
{
    for(int j = 0; j < ageCounters[i]; j++)
    {
        Console.Write(ageGroups[i, j] + " ");
    }
    Console.WriteLine();
}
for(int i=0;i<5;i++)
{
对于(int j=0;j
很抱歉,但是“类、结构或对象”是如何“花哨”的呢?@slobtenderizer;也许你应该展示你到目前为止所取得的成果,而不是期望整个解决方案都能发布给你。这是我今天看到的关于这个主题的第三个问题。我们还不如帮你完成整个任务,对吧?哦。。。我真的不明白像这样的课堂作业能证明什么。@Dampe说到学习编程,重要的是要学习计算机如何处理的基础知识,循环的基础知识,以及训练你的大脑逻辑和系统地思考。如果您不能真正理解幕后发生的事情,那么使用LINQ或列表有什么意义?我如何将其调整为循环?我试过了,但因为某种原因得了14分。此外,索引器中不能有多个索引变量。