From acbd73269bec255991e2a930a56db1fa4bd8e107 Mon Sep 17 00:00:00 2001 From: 64428d3e4c6fa56f8d8a0e92 <64428d3e4c6fa56f8d8a0e92@devide> Date: Sun, 28 May 2023 09:50:00 +0000 Subject: [PATCH] Sun May 28 09:50:00 UTC 2023 inscode --- target/C.c | 76 +++++++++++++++++++++--------------------------------- 1 file changed, 29 insertions(+), 47 deletions(-) diff --git a/target/C.c b/target/C.c index 48a78eb..0306a92 100644 --- a/target/C.c +++ b/target/C.c @@ -1,59 +1,41 @@ #include +// 定义学生结构体 struct Student { - char *name; - int id; - unsigned int age; - char group; - float score; -} + char *name; // 姓名 + int id; // 学号 + unsigned int age; // 年龄 + char group; // 小组 + float score; // 成绩 +} cls[] = { + // 初始化学生信息 + {.name = "张三", .group = 'A', .age = 16, .score = 95.50, .id = 1001}, + {.age = 15, .score = 90.00, .group = 'A', .id = 1002, .name = "李四"}, + {.group = 'B', .age = 16, .name = "王五", .score = 80.50, .id = 1003} +}; int main(int argc, char** argv) { - struct Student stu; - stu.name = "张三"; - stu.id = 1001; - stu.age = 16; - stu.group = 'A'; - stu.score = 95.50; - - printf("========== 学生基本信息 ==========\n"); - printf("姓名:%s\n学号:%d\n年龄:%d\n所在小组:%c\n成绩:%.2f\n", - stu.name, stu.id, stu.age, stu.group, stu.score); - printf("==================================\n"); - - return 0; -} - - -#include + size_t i, num_stu = sizeof(cls) / sizeof(struct Student); // 获取学生人数 -// 定义结构体Student -struct Student -{ - char *name; // 姓名 - int id; // 学号 - unsigned int age; // 年龄 - char group; // 所在小组 - float score; // 成绩 -}; + float total = 0, average = 0; // 定义总成绩和平均成绩变量 + printf("=============== 学生基本信息 ===============\n"); + printf("姓名\t学号\t年龄\t小组\t成绩\n"); + printf("--------------------------------------------\n"); -int main(int argc, char** argv) -{ - // 初始化一个Student类型的变量stu - struct Student stu; - stu.name = "张三"; // 给stu的name成员赋值 - stu.id = 1001; // 给stu的id成员赋值 - stu.age = 16; // 给stu的age成员赋值 - stu.group = 'A'; // 给stu的group成员赋值 - stu.score = 95.50; // 给stu的score成员赋值 + // 打印学生信息 + for (i = 0; i < num_stu; i++) { + printf("%s\t%d\t%d\t%c\t%.2f\n", + cls[i].name, cls[i].id, cls[i].age, cls[i].group, cls[i].score); + total += cls[i].score; // 计算总成绩 + } + printf("============================================\n"); - // 输出学生基本信息 - printf("========== 学生基本信息 ==========\n"); - printf("姓名:%s\n学号:%d\n年龄:%d\n所在小组:%c\n成绩:%.2f\n", - stu.name, stu.id, stu.age, stu.group, stu.score); - printf("==================================\n"); + average = total / num_stu; // 计算平均成绩 + printf("班级平均成绩:%.2f", average); - return 0; + return 0; } + +} \ No newline at end of file -- GitLab