首页>计算机>软件水平考试>模拟试题>正文
软件设计师课后练习题:第七章习题解答

www.zige365.com 2008-11-11 17:20:03 点击:发送给好友 和学友门交流一下 收藏到我的会员中心
 3.编一个程序,输入10个学生的学号、姓名、3门课程的成绩,求出总分最高的学生姓名并输出。
    【解】类似上一程序,直接给出程序如下:
  # include 
  # include 
  # define N 10
  struct stu {
  char no[10];
  char name[20];
  int score[3];
  } students[N],*p, *maxp;
 void main() 
  { char buf[120]; int maxs;
  printf("输入%d个学生的编号、姓名、三门课程成绩 \n", N);
  for(p= students;p< students+N;p++) {
  scanf("%s", buf); strncpy(p -> no, buf, 9);
  scanf("%s", buf); strncpy( p -> name, buf,19);
  scanf("%d%d%d",&p -> score[O], &p -> score[1], &p ->  score[2]);
  } 
  for(maxp= p =students, maxs=-1; p< students+N; p++) 
  if( p -> score[0] + p -> score[1]+p -> score[2]> maxs) {
  maxp=p;maxs=p ->score[0]+p -> score[1]+p ->score[2];
  }
  printf("最高总分的学生是%s他的总分是 %d \n", maxp -> name, maxs);
  } 

   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  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   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);
   }

本新闻共3页,当前在第3页  1  2  3  

我要投稿 新闻来源: 编辑: 作者:
相关新闻
2009年咨询工程师考前练习-项目决策方法与实务1(08/1
2009年咨询工程师考前练习-项目决策方法与实务2(08/1
2009年咨询工程师考前练习-项目决策方法与实务3(08/1
2009年咨询工程师考前练习-项目决策分析与评价一-1(0
2009年咨询工程师考前练习-项目决策分析与评价一-2(0
2009年咨询工程师考前练习-项目决策分析与评价一-3(0