定义一个结构体,构造一个结构体数组。再将结构体类型的指针作为参数,实现对结构体型数组的控制,包含录入和输出。
#include <stdio.h>
#include <stdlib.h>
#define NUM 3
struct STUDENT //构造结构体,姓名/三门科目分数/总分
{
char name[10];
int score[3];
int sumscore;
};
STUDENT students[NUM]; //拥有NUM个STUDENT数据的数组
void input(STUDENT *stu)
{
//数据录入
for(int i=0;i<NUM;i++)
{
printf("请输入第%d个学生的成绩:\n",i+1);
printf("name:");
scanf("%s",stu[i].name); //姓名
printf("scores:");
scanf("%d,%d,%d",&stu[i].score[0],&stu[i].score[1],&stu[i].score[2]); //三门成绩
stu[i].sumscore=stu[i].score[0]+stu[i].score[1]+stu[i].score[2]; //总分
}
}
void output(STUDENT *stu)
{
//数据输出
for(int i=0;i<NUM;i++)
{
printf("%s的成绩及其总分:\n",stu[i].name);
printf("%5d,%5d,%5d,%5d\n",stu[i].score[0],stu[i].score[1],stu[i].score[2],stu[i].sumscore);
}
}
int main()
{
input(students);
output(students);
system("pause");
return 0;
}