#include "stdio.h" struct a { int xuehao; char name[20]; float chengji[3]; }b[5]; void main() { void print(struct a b[5]); int i,j; for(i=0;i<5;i++) { printf("xuehao:"); scanf("%d",&b[i].xuehao); printf("name:"); scanf("%s",&b[i].name); for(j=0;j<3;j++) { printf("chengji:"); scanf("%f",&b[i].chengji[j]); } printf("\n"); } print(b); } void print(struct a b[5]) { int i,j; printf(" xuehao name chengji1 chengji2 chengji3 \n"); for(i=0;i<5;i++) { printf("%5d%10s",b[i].xuehao,b[i].name); for(j=0;j<3;j++) printf("%10.2f",b[i].chengji[j]); printf("\n"); } }
时间: 2024-04-06 13:31:16 浏览: 34
#include <stdio.h>
4星 · 用户满意度95%
这次的代码已经解决了之前提到的问题,定义了一个结构体a,将结构体数组b作为参数传递给函数print(),并正确地使用了scanf()函数来输入字符串类型的姓名。
不过,这个程序仍然存在一些潜在的问题。比如,输入和输出的学生信息都是写死的,程序无法根据用户的选择进行动态的输入和输出。此外,没有实现对学生信息进行修改、排序和查询等功能,这些功能是一个完整的学生信息管理系统必须具备的。
因此,建议您在完成基本的输入和输出功能后,进一步完善程序,实现更为完整和实用的功能。具体来说,您可以考虑实现以下功能:
1. 修改学生信息:根据输入的学号,可以修改该学生的姓名和成绩信息。
2. 排序功能:可以按照学号或成绩进行排序,方便用户查找和比较学生信息。
3. 查询功能:可以根据输入的学号或姓名查询相应的学生信息。
4. 数据存储:可以将学生信息存储到文件中,下次启动程序时可以读取文件中的数据,方便数据的管理和维护。
希望这些建议能对您的编程有所启发。祝您编写一个高效、稳定、易用的学生信息管理系统!
阅读全文