#include <stdio.h> struct score { float grade[5]; float avegrade,maxgrade,mingrade; }; void main() { int i; struct score m; printf("input the grade of five course: "); for(i=0;i<5;i++) scanf("%f",&m.grade[i]); m.avegrade=0; m.maxgrade=m.grade[0]; m.mingrade=m.grade[0]; for(i=0;i<5;i++) { m.avegrade+=m.grade[i]; m.maxgrade=(m.grade[i]>m.maxgrade)?m.grade[i]:m.maxgrade; m.mingrade=(m.grade[i]<m.mingrade)?m.grade[i]:m.mingrade; } m.avegrade/=5; printf("avegrade=%5.1f maxgrade=%5.1f mingrade=%5.1f ",m.avegrade,m.maxgrade,m.mingrade); }
#include <stdio.h> #include <string.h> struct person { char name[20]; int count; }leader[3]={"Li",0,"Zhang",0,"Wang",0}; void main () { int i,j; char leader_name[20]; while(1) { scanf("%s",leader_name); if(strcmp(leader_name,"0")==0) break; for(j=0;j<3;j++) if(strcmp(leader_name,leader[j].name)==0) leader[j].count++; } for(i=0;i<3;i++) printf("%5s:%d ",leader[i].name,leader[i].count); }
结构体可以嵌套。即结构体中的成员可以是另一结构体类型的变量,也可以是自身类型的指针,但不能是自身类型的变量。
struct Img
{
int tag;
struct Img *pimg; //正确,可以包含自身类型的指针
struct Img img; //错误,不能包含自身类型的变量
}