使用数组录入学生信息 演示: 请输入班级的学生人数:3 请输入第1位学生的姓名:张三 请输入第1位学生的年龄:18 请输入第2位学生的姓名:李四 请输入第2位学生的年龄:20 请输入第3位学生的姓名:王五 请输入第3位学生的年龄:22 ******************************************** 输出信息: 序号 姓名 年龄 ----------------------------------------------------------------- 1 张三 18 2 李四 20 3 王五 22 *********************************************** 其中年龄最大的人是:王五,年龄是22 其中年龄最小的人是:张三,年龄是18 所有人年龄的总和是:60 所有人年龄的平均值是:20 班级里面有 3位学生;
时间: 2023-07-23 18:01:26 浏览: 45
用数组输出学生成绩信息
我可以帮你编写这个程序。以下是使用数组录入学生信息的示例代码:
```c
#include <stdio.h>
#define MAX_STUDENTS 100
typedef struct {
char name[50];
int age;
} Student;
int main() {
int num_students;
printf("请输入班级的学生人数:");
scanf("%d", &num_students);
Student students[MAX_STUDENTS];
for (int i = 0; i < num_students; i++) {
printf("请输入第%d位学生的姓名:", i + 1);
scanf("%s", students[i].name);
printf("请输入第%d位学生的年龄:", i + 1);
scanf("%d", &students[i].age);
}
printf("序号\t姓名\t年龄\n");
printf("-------------------------------------\n");
for (int i = 0; i < num_students; i++) {
printf("%d\t%s\t%d\n", i + 1, students[i].name, students[i].age);
}
printf("-------------------------------------\n");
// 年龄最大的人
int max_age = students[0].age;
char max_name[50];
// 年龄最小的人
int min_age = students[0].age;
char min_name[50];
// 年龄总和
int total_age = 0;
for (int i = 0; i < num_students; i++) {
if (students[i].age > max_age) {
max_age = students[i].age;
strcpy(max_name, students[i].name);
}
if (students[i].age < min_age) {
min_age = students[i].age;
strcpy(min_name, students[i].name);
}
total_age += students[i].age;
}
printf("年龄最大的人是:%s,年龄是%d\n", max_name, max_age);
printf("年龄最小的人是:%s,年龄是%d\n", min_name, min_age);
printf("所有人年龄的总和是:%d\n", total_age);
printf("所有人年龄的平均值是:%.2f\n", (float)total_age / num_students);
printf("班级里面有%d位学生\n", num_students);
return 0;
}
```
你可以将此代码复制到一个C文件中并运行。它会按照你的要求录入学生信息,并输出相应的结果。希望这对你有帮助!如有其他问题,请随时提问。
阅读全文