gpt4 book ai didi

计算平均分组

转载 作者:太空宇宙 更新时间:2023-11-04 07:12:05 25 4
gpt4 key购买 nike

我有一个数组,其中每个元素都是关于学生的符号:

group number | name | evaluations
---------------------------------
4272 Галкин Г. А. 5445
4273 Константинопольский А. А. 4333
4273 Курочкин А. А. 3433
4272 Козлов И. И. 4443

我需要计算每组的平均分,即在这种情况下获得两个数字:

  • (5 + 4 + 4 + 5) + (4 + 4 + 4 + 3) = 33/2 = 16.5
  • (4 + 3 + 3 + 3) + (3 + 4 + 3 + 3) = 26/2 = 13

因此,在输出中我应该得到:4272 -- 16.54273 -- 13。请告诉我,我该怎么做。

我的函数目前看起来像:

void group_average_scope() {
char name[50];
int group;
int exam;

for (int i = 0; i < 4; i++) {
int sum_of_evaluations = 0;
int digit = 0;
int counter_digits = 0;

sscanf(student_list[i], "%d %[^0-9] %d", &group, name, &exam);

while (exam > 0) {
digit = exam % 10;
sum_of_evaluations += digit;
counter_digits++;
exam = exam / 10;
}
}
}

最佳答案

这样试试。 (此代码为伪代码。)

#define GROUP_NUM 5000
typedef struct list{
int group;
int number_of_students;
int sum_of_eval;
list(){group = 0; number_of_students = 0; sum_of_eval = 0;};
};

到这里为止,我做了一个结构来保存一个组的信息,该组的学生人数和评价总和。

char name[50];
int group;
int exam;
list students_group[GROUP_NUM];

for (int i = 0; i < 4; i++) {
int sum_of_evaluations = 0;
int digit = 0;
int counter_digits = 0;
sscanf(student_list[i], "%d %[^0-9] %d", &group, name, &exam);

printf("%d %s %d\n",group,name,exam);//test

while (exam > 0) {
digit = exam % 10;
sum_of_evaluations += digit;
counter_digits++;
exam = exam / 10;
}
students_group[group].group = group;
students_group[group].number_of_students++;
students_group[group].sum_of_eval += sum_of_evaluations;
}
for( group = 0 ; group < GROUP_NUM; group++){
if(students_group[group].group > 0){
printf("%d -- %g\n",students_group[group].group ,
(double)students_group[group].sum_of_eval / students_group[group].number_of_students);
}
}

我不知道“组”的信息。所以我假设“组”存在于 0 到 4999 之间。并在此函数中打印平均值。 如果要保存平均值,则必须接收结构指针。 如果您有任何疑问,请发邮件给我。

关于计算平均分组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27652672/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com