| 
              #include <stdio.h>
 #define N 2
 
 typedef struct
 {
 float cp;
 float en;
 float math;
 float db;
 float phy;
 } GRADE;
 
 typedef struct
 {
 int num;
 char name[21];
 char sex;
 int age;
 GRADE grades;
 float ave;
 } STUDENT;
 
 void main()
 {
 STUDENT stu[N];
 STUDENT *p;
 int i;
 p = stu;
 for (i = 0; i < N; i++)
 {
 printf("请输入学号: ");
 scanf("%d", &p->num);
 printf("请输入姓名: ");
 fflush(stdin);
 gets(p->name);
 printf("请输入性别: ");
 fflush(stdin);
 p->sex = getchar();
 printf("请输入年龄: ");
 scanf("%d", &p->age);
 printf("请输入C语言成绩: ");
 scanf("%f", &p->grades.cp);
 printf("请输入英语成绩: ");
 scanf("%f", &p->grades.en);
 printf("请输入数学成绩: ");
 scanf("%f", &p->grades.math);
 printf("请输入数据库成绩: ");
 scanf("%f", &p->grades.db);
 printf("请输入物理成绩: ");
 scanf("%f", &p->grades.phy);
 p->ave = (p->grades.cp + p->grades.db + p->grades.en + p->grades.math + p->grades.phy) / 5;
 p++;
 }
 
 printf("学号\t姓名\t性别\t年龄\tC语言\t英语\t数学\t数据库\t物理\t平均\n");
 p = stu;
 for (i = 0; i < N; i++)
 {
 printf("%d\t%s\t%c\t%d\t%.1f\t%.1f\t%.1f\t%.1f\t%.1f\t%.1f\n", p->num,
 p->name, p->sex, p->age, p->grades.cp, p->grades.en,
 p->grades.math, p->grades.db, p->grades.phy, p->ave);
 p++;
 }
 }
 
 
 |