学历改变命运
24小时客服:4008135555/010-82335555
当前位置:首页 > 笔记串讲 > 自考“高级语言程序设计”习题答案详解(43

自考“高级语言程序设计”习题答案详解(43)

2007年09月04日    来源:   字体:   打印

  4.编一个程序,输入下列学生成绩表中的数据,并用结构体数组存放,然后统计并输出三门课程的名称和平均分数。

  name foxbase pascal c

  wang 98.0 87.0 77.0

  qian 90.5 91.0 88.0

  sun 74.0 77.5 66.5

  li 84.5 64.5 55.0

  「解」类似上一程序,直接给出程序如下:

  # include

  # include

  # define N 100

  struct stu {

  char namep[20];

  int foxbase;

  int pascal;

  int c;

  } students[N], *p;

  void main ()

  { int n, sf, sb, sc;

  char buf[120];

  printf(“输入n(< %d) ! \n”, N);

  do {

  scanf(“%d”, &n);

  if(n>0 && n<N ) BREAK;

  printf(“输入 n不合理! 请重新输入! \n”);

  } while(1);

  printf(“输入%d个人的姓名、Foxbase成绩、Pascal成绩、C成绩 \n”, n);

  for( p= students;p< students+n; p++);

  scanf(“%s”,buf );strncpy(p -> name, buf, 19);

  scanf(“%d%d%d”, &p -> foxbase,&p -> pascal,&p -> c)

  }

  sf=sb=sc =0;

  for( p=students; p<STUDENTS+N; P++) {

  sf+= p -> foxbase; sb+= p -> pascal; sc+= p -> c;

  }

  printf(“Foxbase:%.2f \t Pascal:%.2f \t c:%.2f \n”,

  (float)sf/n,(float)sb/n,(float)sc/n);

  }

关闭