2016C语言习题全集及答案:结构体和共用体03.docVIP

  • 96
  • 0
  • 约9.68千字
  • 约 11页
  • 2017-07-05 发布于江西
  • 举报

2016C语言习题全集及答案:结构体和共用体03.doc

2016C语言习题全集及答案:结构体和共用体03

第八单元 结构体和共用体 填空题 在C语言中,要定义一个结构体类型的变量,可采用三种方法,即 、 和 。 编写一个程序,首先定义一个复数数据类型,即结构类型。然后按照复数的运算规则进行计算,并按照复数表示的格式进行输出。 main() { struct complex { int re; int im; }x,y,s,p; scanf(%d%d,x.re,x.im); scanf(%d%d,y.re,y.im); s.re= (1) ; s.im= (2) ; printf( sum=%5d+i*%5d\n,s.re,s.im); p.re= (3) ; p.im=x.re*y.im+x.im*y.re; printf(product=%5d+i*%5d\n,p.re,p.im); } 有n个学生,每个学生的数据包括学号(num),姓名(name[20]),性别(sex),年龄(age),三门课的成绩(score[3])。要求在main函数中输入这n个学生的数据, 然后调用一个函数count,在该函数中计算出每个学生的总分和平均分, 然后打印出所有各项数据(包括原有的和新求出的)。 struct student { int num; char name[20]; char sex; int age; float score[3]; float total; float ave; }; void count( (1) b[],int n) { int i,j; for(i=0;in;i++) { (2) ; for(j=0;j3;j++) b[i].total= (3) ; (4) ; } } void main() { int i;flaot s1,s2,s3; (5) ; struct student a[3]; for(i=0;i3;i++) { scanf(%d%s %c%d%f%f%f,a[i].num,a[i].name,a[i].sex, a[i].age,s0,s1,s2); a[i].score[0]=s0;a[i].score[1]=s1;a[i].score[2]=s2; printf(%d %s %c %d %4.1f %4.1f %4.1f\n,a[i].num,a[i].name, a[i].sex,a[i].age,a[i].score[0],a[i].score[1],a[i].score[2]); } count(a,3); printf(==============================================\n); printf(NO name sex age score[0] score[1] score[2] total ave\n); for(i=0;i3;i++) printf(%d %s %c %d %5.1f %5.1f %5.1f %5.1f %5.1f\n, a[i].num,a[i].name,a[i].sex,a[i].age,a[i].score[0], a[i].score[1],a[i].score[2],a[i].total,a[i].ave); } 将上题改为用指针方法处理,即用指针变量逐次指向数组元素,然后向指针变量所指向的数组元素输入数据,并将指针变量作为函数参数将地址值传给count函数, 在函数count中作统计,再将数据返回到main函数,在main函数中输出。 struct student { int num; char name[20]; char sex; int age; float score[3];

您可能关注的文档

文档评论(0)

1亿VIP精品文档

相关文档