下面是一个用C语言实现利用数组存储学生成绩的示例代码: ```c #include <stdio.h> #define MAX_STUDENTS 100 // 定义最大学生数量 int main() { int numStudents; // 实际学生数量 float scores[MAX_STUDENTS]; // 定义一个数组来存储学生成绩 // 输入学生数量 printf("请输入学生的数量(不超过 %d): ", MAX_STUDENTS); scanf("%d", &numStudents); // 检查输入的学生数量是否合法 if (numStudents <= 0 || numStudents > MAX_STUDENTS) { printf("输入的学生数量不合法,请输入一个在 1 到 %d 之间的数字。\n", MAX_STUDENTS); return 1; } // 输入每个学生的成绩 for (int i = 0; i < numStudents; i++) { printf("请输入第 %d 个学生的成绩: ", i + 1); scanf("%f", &scores[i]); // 将成绩存储到数组中 } // 输出每个学生的成绩 printf("\n学生成绩如下:\n"); for (int i = 0; i < numStudents; i++) { printf("第 %d 个学生的成绩是: %.2f\n", i + 1, scores[i]); } return 0; } ``` 代码解释 1. 宏定义:`#define MAX_STUDENTS 100` 定义了一个常量 `MAX_STUDENTS`,表示数组最多能存储的学生成绩数量。 2. 变量声明:`numStudents` 用于存储实际的学生数量,`scores` 数组用于存储学生的成绩。 3. 输入学生数量:通过 `scanf` 函数获取用户输入的学生数量,并检查其合法性。 4. 输入学生成绩:使用 `for` 循环遍历数组,通过 `scanf` 函数将每个学生的成绩存储到数组中。 5. 输出学生成绩:再次使用 `for` 循环遍历数组,通过 `printf` 函数输出每个学生的成绩。 额外需要注意的逻辑点 1. 输入的学生数量必须在合法范围内,否则程序会提示错误并退出。 2. 数组的下标是从 0 开始的,而在输出学生编号时,通常从 1 开始,需要注意下标和编号的对应关系。 3. 在输入成绩时,要确保输入的是有效的浮点数,否则可能会导致程序出错。 [2025-07-25 15:42:18 | AI写代码神器 | 598点数解答]