鱼C论坛

 找回密码
 立即注册
查看: 2750|回复: 5

求救大佬怎么文件的内容怎么统计

[复制链接]
发表于 2020-4-7 10:28:08 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
程序功能:已知一个数据文件a.txt中保存了若干个学生的计算机等级考试成绩,包括学号、姓名和成绩。请编程读出显示文件内容并分类统计各等级人数,最后显示统计结果。成绩等级规则:大于等于90-A,大于等于80-B,大于等于70-C,大于等于60-D,60以下-E。
301101   张文    95
301102   陈五    85
301103   程明    75
301104   李文    45
301105   张三    65

小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2020-4-7 13:06:56 | 显示全部楼层
装个pandas 库,处理起来不要太简单!
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-4-7 13:28:49 | 显示全部楼层
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;
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-4-7 15:26:12 | 显示全部楼层
pokeyboa 发表于 2020-4-7 13:28
sql 可以实现:
select count(tt.level),tt.level
from

C语言
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-4-7 16:01:11 | 显示全部楼层
数据已经给你读取到数组中了,剩下的自己写吧

  1. #include <stdio.h>

  2. typedef struct {
  3.     char id[10];
  4.     char name[20];
  5.     size_t score;
  6. } student_t;

  7. size_t read_data(student_t student[], FILE *fp) {
  8.     size_t i;
  9.     for(i = 0; fscanf(fp, "%s", student[i].id) != EOF; ++i) {
  10.         fscanf(fp, "%s", student[i].name);
  11.         fscanf(fp, "%lu", &student[i].score);
  12.     }
  13.     return i;
  14. }

  15. void print_data(student_t student[], size_t count) {
  16.     for(size_t i = 0; i < count; ++i)
  17.         printf("%s %s %lu\n", student[i].id, student[i].name, student[i].score);
  18. }

  19. int main(void) {
  20.     student_t student[100];
  21.     FILE *fp = fopen("student.txt", "r");
  22.     size_t count = read_data(student, fp);
  23.     print_data(student, count);
  24.     fclose(fp);
  25.     return 0;
  26. }
复制代码
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-7-12 11:51

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表