chap9结构内容摘要:
,math,english,total。 }。 定义结构类型数组 struct student s[50]。 input_student函数设计 功能: 输入一个学生基本信息,计算总成绩,返回该生信息记录。 设计函数首部如下: struct student input_student() 算法用伪代码描述 struct student s。 输入 s: scanf(s)。 计算总分: =++。 return s。 struct student{ int num。 char name[10]。 int chinese, math, english, total。 }。 struct student input_student() { struct student s。 printf(学号 姓名 语文 数学 英语: )。 scanf(%d%s%d%d%d,amp。 ,)。 scanf(%d%d%d,amp。 ,amp。 ,amp。 )。 =++。 return s。 } 程序清单( 1) ◆ 返回值:结构类型 sort_student函数设计 功能:选择法排序。 对 n 个学生记录按总分由大到小排序。 函数首部: void sort_student( struct student s[ ] , int n ) 算法用伪代码描述 for(i=0。 in1。 i++){ index=i。 for(j=i。 jn。 j++) if(s[j].totals[index].total) index=j。 temp=s[i]。 s[i]=s[index]。 s[index]=temp。 } ◆ 形参:结构数组,传址。 …… void sort_student( struct student s[ ], int n ){ …… for(i=0。 in1。 i++){ index=i。 for(j=i。 jn。 j++) if(s[j].totals[index].total) index=j。 temp=s[i]。 s[i]=s[index]。 s[index]=temp。 } } 程序清单( 2) ◆ 形参 :结构数组,传址。 output_student函数设计 功能: 逐行输出结构数组( n个元素)各元素的记录信息。 函数首部: void output_student(struct student s[ ],int n) 算法用伪代码描述 输出表头。 输出表体: for(i=0。 in。 i++) printf(s[i])。 ◆ 形参:结构数组,传址。 …… void output_student( struct student s[ ], int n ){ printf(学号 姓名 语文 数学 英语 总成绩 \n)。 for(i=0。 in。 i++) printf(“%d%s%d%d%d%d\n”, s[i].num,s[i].name,s[i].chinese, s[i].math,s[i].english,s[i].total)。 } 程序清单( 2) ◆ 形参 :结构数组,传址。 main函数设计 功能: 输入 n个学生基本信息、计算个人总成绩、排序学生数据和输出学生全部记录信息。 算法用伪代码描述 输入 n个学生记录; for(i=0。 in。 i++) s[i]=input_student()。 排序 n个学生记录; sort_student(s, n)。 输出 n个学生记录; output_student(s, n)。 …… void main() { struct student s[50]。 for(i=0。 in。 i++){ printf(\n请输入第 %d学生基本信息: \n,i+1)。 s[i]=input_student()。 } sort_student(s,n)。 output_student(s,n)。 } 程序清单( 3) ◆ 实参 :结构数组名,传址。 ◆ 实参 :结构数组名,传址。 ◆ 返回值 :结构类型 结构数组的定义 方式 1——单独定义 struct student { int num。 char name[10]。 int chinese, math, english, total。 }。 struct student s[50]。 说明 :既定义结构类型 struct student,又定义该类型数 组 s,包含 50个数组元素, s[0]到 s[49]。 结构数组操作 结构数组的定义 方式 2——混合定义 struct student { int num。 char name[10]。 int chinese, math, english, total。 } s[50]。 说明 :既定义结构类型 struct student,又定义该类型数 组 s,包含 50个数组元素, s[0]到 s[49]。 结构数组操作 结构数组的定义 方式 3——无类型定义 struct{ int num。 char name[10]。 int chinese, math, english, total。 } s[50]。 说明 :只定义结构数组 s,包含 50个数组元素。 结构数组操作 结构数组的初始化: 初始化列表方式 struct student s[50] = { { 101,zhang san, 88,88,88}, { 102,Li Si, 99,99,99} }。 stud[49] stud[1] stud[0] 结构数组操作 …… 101 Zhang San 88 88 88 102 Li Si 99 99 99 …… …… …… …… …… …… 同类型的结构数组元素整体赋值。 举例 : s[i] = s[k]。 作用 :将 “ =”右边结构数组元素的每个成员的值赋给左边结构数组元素中相应的成员。 注意 :相同类型的结构数组元素才能直接赋值。 结构数组元素的整体赋值 结构数组操作 格式 : 结构体数组名 [下标 ] . 结构体成员名 举例 : s[5].num = 106。 strcpy(s[5].name, Xiao Jie)。 s[5].chinese = 100。 s[5].english=95。 s[5].math=95。 结构数组元素的成员引用 结构数组操作 成员运算符 参数传递: 传址。 形参 要求:地址,即同类型结构数组或结构指针。 结构数组名作函数参数 结构数组操作 举例:例 94 …… void sort_student( struct student s[ ], int n ){ …… for(i=0。 in1。 i++){ index=i。 for(j=i。 jn。 j++) if(s[j].totals[index].total) index=j。 temp=s[i]。 s[i]=s[index]。 s[index]=temp。 } } void output_student( struct student s[ ], int n ){ printf(学号。chap9结构
相关推荐
逻辑链路控制子层 LLC( Logical Link Control) 引入 LLC子层的原因: MAC子层只提供尽力而为的数据报服务,不提供确认机制和流量控制(滑动窗口), 有些情况下,这种服务足够,如支持 IP协议;当需要 确认 和流控的时候,这种服务就不能满足,需要 LLC。 LLC子层提供确认机制和流量控制; LLC隐藏了不同 802MAC子层的差异
压下的凝固点。 而冰点是指在标准压力下,被空气饱和的水的凝固点,即空气的饱和水溶液和冰的平衡温度。 所以水的三相点是指一个纯净、简单的体系。 是一个固定不变的状态;而水的冰点 ‘ 是指一个比较复杂的体系。 随外界条件的不同略有差异 ’ 4水的临界温度 气液曲线不能无限延长。 实验证明其顶点为。 即高于 式存在,再加多大外压气体也不能液化。 在,既然液态已不再存在。 也没有气 — 液平衡。 所以
RL中得到的输出流通常与一个 CGI程序结合一起工作 客户端 java程序 DataOutputStream DataInputStream CGI程序 STDIN STDOUT 服务器 () connectiuon getchar() putchar() Java TCP/IP协议 • Sockets: • 建立连接的方式与电话模式相同 Socket •
ible 显示外框线; Invisible:隐藏外框线。 b) Icon Transparency: Opaque 隐藏输入输出的标签; Transparent:显示输入输出的标签。 c) Icon Rotation:旋转模块。 d) Drawing coordinate:画图时的坐标系。 Initialization标签页 此页主要用来设计输入提示( prompt)以及对应的变量名称(