结构(jiégòu)数组的定义 struct student //定义学生结构(jiégòu)体类型 { long num; char name[8], sex ; struct date { int year, month, day; } birthday; float score[3]; }; struct student stu[3]; 即定义了一个(yī ɡè)类型为student的结构数组stu,该数组有3个元素。 其数组元素各成员的引用形式为: stu[0].name, stu[0].sex, stu[0].score[i] ; 第五百八十六页,共628页。 结构(jiégòu)数组的初始化 结构(jiégòu)数组stu存储形式: 结构(jiégòu)数组的初始化与数组的初始化一样, 如: struct student stu[3]= {{101, “王小宁”,‘F’,1975, 5, 21, 83.6, 88, 90}, {102, “张羽”,‘M’,1976, 1, 12, 75.5, 78, 75}, {103, “刘全赫”, ‘F’, 1975, 10, 5, 89, 82.3, 93.5} }; 第五百八十七页,共628页。 例10.2 某班有N名学生, 每个学生数据包括: 学号, 姓名, 性别, 年龄和平均成绩。 要求: 输入任意一个学号, 输出指定学号学生的所有数据信息。 分析 用结构(jiégòu)体数组保存学生数据 采用顺序查找法 输入学生信息 输入查询条件 查找学生信息,报告结果 第五百八十八页,共628页。 #includestdio.h #define N 5 struct student { long int num; char name[10]; char sex ; int age, score ; } stu[N]={ “张三(zhānɡ sān)”, M, 18, 85}, “王海”, M, 19, 87}, “刘英”, F, 18, 90}, “李辉”, M, 19, 80}, “陈明”, M, 18, 92} } ; 第五百八十九页,共628页。 void main( ) { int s, t ; long xh ; printf(“请输入需查找学生的学号:”); scanf(“%ld”, xh) ; for ( s=0; sN; s++ ) //检索所需数据 { if( xh==stu[s].num ) { t=1 ; break ; } else t=0; } if( t!=0 ) //输出(shūchū)检索结果 printf(“%10ld%10s%4c%4d%4d\n”,stu[s].num, stu[s].name,stu[s].sex,stu[s].age,stu[s].score); else printf(“查无此人!\n”) ; } 运行 第五百九十页,共628页。 例10.3 设某班有n名学生, 每个学生数据包括(bāokuò): 姓名、学号及单科成绩, 编程按成绩由高分到低分输出。 要求: 1) 结构体类型数组的输入。 2) 按学生(xué sheng)的成绩排序。 3) 输出。 第五百九十一页,共628页。 #include stdio.h #define n 3 struct student //第一步, 根据具体情况定义结构(jiégòu)体类型。 { double num; //学号 char name[20]; //姓名 float score;
原创力文档

文档评论(0)