设为首页 加入收藏

TOP

8.5.1 学生成绩统计实例
2013-10-12 09:25:13 来源: 作者: 【 】 浏览:143
Tags:8.5.1 学生 成绩 统计 实例

8.5  实例

数组可以在程序中实现数据存储,程序可以使用循环的方法对数组进行访问。本节将讲解数组与指针的编程使用实例。

8.5.1  学生成绩统计实例

本节编写一个成绩输入与统计程序。在程序中输入6个人的姓名、各科成绩。然后程序输出每个人的各科成绩、总成绩和平均成绩。程序的代码如下所示。

【范例8-10】学生成绩统计程序,实例代码如下所示。

实例代码8-10

  1. 01  #include <stdio.h> 
  2. 02  int main()  
  3. 03  {  
  4. 04      char name[6][10];                       /*定义6个人的姓名,6个字符数组。*/  
  5. 05      int score[6][5];                        /*定义一个二维数组存放成绩。*/  
  6. 06      int i;                              /*定义一个计数器变量。*/  
  7. 07      for(i=0;i<6;i++)                        /*进行6次循环。*/  
  8. 08      {  
  9. 09         printf("please input the name:\n");  /*提示输入姓名。*/  
  10. 10         scanf("%s",name[i]);                 /*输入一个人的姓名。*/  
  11. 11         printf("score ,math:\n");  
  12. 12         scanf("%d",&score[i][0]);            /*输入数学成绩。*/  
  13. 13         printf("score ,English:\n");  
  14. 14         scanf("%d",&score[i][1]);            /*输入外语成绩。*/  
  15. 15         printf("score ,Chinese:\n");  
  16. 16         scanf("%d",&score[i][2]);            /*输入汉语成绩。*/  
  17. 17         score[i][3] =  score[i][0]+score[i][1]+score[i][2];  /*求出这个人的总分。*/  
  18. 18         score[i][4]= (int)(score[i][3] /3);  /*求出这个人的平均分。*/  
  19. 19      }  
  20. 20       printf("result:\n math  English Chinese  total  average :\n");  
  21. 21      for(i=0;i<6;i++)                        /*循环输出成绩。*/  
  22. 22      {  
  23. 23         printf("%s: %d   %d    %d    %d   %d  \n",name[i],score[i][0],score[i][1], score[i][2],  
  24. 24  score[i][3],score[i][4]);                   /*输出一个人各科的成绩。*/  
  25. 25      }  
  26. 26      return 0;  
  27. 27  }  

【执行结果】输入下面的命令,编译这个程序。
  1. gcc 8.10.c 

输入下面的命令,运行这个程序。
  1. ./a.out 

程序运行时,在文本提示后面输入每个人的姓名和各科分数。程序显示的结果如下所示。
  1. math  English Chinese  total  average :  
  2. jim: 45   76     87     208    69  
  3. tom: 56   76     45     177    59  
  4. bill: 56   76     87     219    73  
  5. lucy: 45   65     87     197    65  
  6. bod: 56   76     46     178    59  
  7. lily: 34   65     67    166    55  

【代码解析】实例代码8-10的说明如下:

代码第05行定义了一个6乘5的二维数组,共6行(每行表示一个学生的各科成绩),每行5个元素(分别表示前三门课的成绩、总成绩和平均成绩)。

】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇8.5.2 冒泡法排序实例 下一篇8.4.2 二维数组与指针

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容: