求救大佬怎么文件的内容怎么统计
程序功能:已知一个数据文件a.txt中保存了若干个学生的计算机等级考试成绩,包括学号、姓名和成绩。请编程读出显示文件内容并分类统计各等级人数,最后显示统计结果。成绩等级规则:大于等于90-A,大于等于80-B,大于等于70-C,大于等于60-D,60以下-E。301101 张文 95
301102 陈五 85
301103 程明 75
301104 李文 45
301105 张三 65
装个pandas 库,处理起来不要太简单! sql 可以实现:
select count(tt.level),tt.level
from
(select id,name,grade,
case
when grade>=90 then 'A'
when grade>=80 then 'B'
when grade>=70 then 'C'
when grade>=60 then 'D'
else 'D'
end as 'level'
from test) as tt
group by tt.level; pokeyboa 发表于 2020-4-7 13:28
sql 可以实现:
select count(tt.level),tt.level
from
C语言
数据已经给你读取到数组中了,剩下的自己写吧
#include <stdio.h>
typedef struct {
char id;
char name;
size_t score;
} student_t;
size_t read_data(student_t student[], FILE *fp) {
size_t i;
for(i = 0; fscanf(fp, "%s", student.id) != EOF; ++i) {
fscanf(fp, "%s", student.name);
fscanf(fp, "%lu", &student.score);
}
return i;
}
void print_data(student_t student[], size_t count) {
for(size_t i = 0; i < count; ++i)
printf("%s %s %lu\n", student.id, student.name, student.score);
}
int main(void) {
student_t student;
FILE *fp = fopen("student.txt", "r");
size_t count = read_data(student, fp);
print_data(student, count);
fclose(fp);
return 0;
}
页:
[1]