实验报告_实验7_数组(学号_姓名)
一、实验目的:
1、理解数组的作用、特点;
2、掌握一维数组、二维的定义、引用、初始化,能够与循环结合实现批量数据处理(如输入、输出,比较大小,交换等); 3、掌握字符数组、字符串的使用; 4、熟悉打擂台等典型算法。
二、实验内容
1、(基础题)有一个数列,它的第一项为1,第二项为2,第三项为3,以后每一项都等于它的前三项之和。使用一维数组编程实现功能:计算该数列的前20项并赋值给数组,然后以逆序方式输出,每一行5个数据。如下图所示:
程序代码:
#include 
int i;
int f[20]={1,2,3}; for(i=3;i<20;i++)
f[i]=f[i-1]+f[i-2]+f[i-3];//计算数列的值 for(i=19;i>=0;i--) {
//每行输出5个数据 printf(\,f[i]); if(i%5==0) printf(\); }
printf(\); return 0; }
2、(基础题)青年歌手大奖赛,有7名评委进行打分,分数取值范围:0.0~10.0,试编程实现如下功能:从键盘输入7位评委给某一选手的评分,之后计算、输出该选手的平均得分(计算规则:去掉一个最高分和一个最低分,求出剩余5个得分的平均值)。如下图所示:
(提示:使用一维数组来保存7位评委的给分,先计算所有评委给分总和,并找到最高分、最低分,然后用给分总和-最高分-最低分,再除5得到选手的平均得分,最后输出。) 程序代码:
#include 
double score[N];
double max,min,sum,aver; int i;
    printf(\请输入%d位评委的给分:\\n\,N);     for(i=0;i         scanf(\,&score[i]);       max=min=sum=score[0];     for(i=1;i         if(max     sum=sum-max-min;     aver=sum/(N-2);      printf(\去掉一个最高分: %.4f,去掉一个最低分:%.4f\\n\\n\,max,min);     printf(\该选手的最后得分是: %.4f\\n\\n\,aver);     return 0; }  3、(基础题)计算矩阵之和:  先输出这两个矩阵,再输出求和后矩阵。 (提示:矩阵之和是对应元素相加,可用二维数组实现) 程序代码:  #include      int a[3][4]={{3,0,4,5},{6,2,1,7},{4,1,5,8}};     int b[3][4]={{1,4,0,3},{2,5,1,6},{9,3,6,0}};     int c[3][4];     int i,j;      printf(\ a:\\n\);    for (i=0;i<3;i++)     {          for (j=0;j<4;j++)         {              printf(\,a[i][j]);//12         }          printf(\);//3     }       printf(\ b:\\n\);     for (i=0;i<3;i++)     {          for (j=0;j<4;j++)         {              printf(\,b[i][j]);         }          printf(\);     }  //c矩阵各元素的值       for (i=0;i<3;i++)      for (j=0;j<4;j++)        c[i][j]=a[i][j]+b[i][j];       printf(\ a+b:\\n\);