答案 实验报告_实验7_数组(学号_姓名)

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

实验报告_实验7_数组(学号_姓名)

一、实验目的:

1、理解数组的作用、特点;

2、掌握一维数组、二维的定义、引用、初始化,能够与循环结合实现批量数据处理(如输入、输出,比较大小,交换等);

3、掌握字符数组、字符串的使用;

4、熟悉打擂台等典型算法。

二、实验内容

1、(基础题)有一个数列,它的第一项为1,第二项为2,第三项为3,以后每一项都等于它的前三项之和。使用一维数组编程实现功能:计算该数列的前20项并赋值给数组,然后以逆序方式输出,每一行5个数据。如下图所示:

程序代码:

#include

int main()

{

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("%10d",f[i]);

if(i%5==0)printf("\n");

}

printf("\n\n");

return0;

}

2、(基础题)青年歌手大奖赛,有7名评委进行打分,分数取值范围:0.0~10.0,试编程实现如下功能:从键盘输入7位评委给某一选手的评分,之后计算、输出该选手的平均得分(计算规则:去掉一个最高分和一个最低分,求出剩余5个得分的平均值)。如下图所示:

(提示:使用一维数组来保存7位评委的给分,先计算所有评委给分总和,并找到最高分、最低分,然后用给分总和-最高分-最低分,再除5得到选手的平均得分,最后输出。)

程序代码:

#include

#define N7

int main()

{

double score[N];

double max,min,sum,aver;

int i;

printf("请输入%d位评委的给分:\n",N);

for(i=0;i

scanf("%lf",&score[i]);

max=min=sum=score[0];

for(i=1;i

{

if(max

max=score[i];

if(min>score[i])

min=score[i];

sum=sum+score[i];

}

sum=sum-max-min;

aver=sum/(N-2);

printf("\n去掉一个最高分:%.4f,去掉一个最低分:%.4f\n\n",max,min);

printf("该选手的最后得分是:%.4f\n\n",aver);

return0;

}

3、(基础题)计算矩阵之和:

先输出这两个矩阵,再输出求和后矩阵。

(提示:矩阵之和是对应元素相加,可用二维数组实现)

程序代码:

#include

int main()

{

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("array a:\n");

for(i=0;i<3;i++)

{

for(j=0;j<4;j++)

{

printf("%5d",a[i][j]);//12

}

printf("\n");//3

}

printf("\narray b:\n");

for(i=0;i<3;i++)

{

for(j=0;j<4;j++)

{

printf("%5d",b[i][j]);

}

printf("\n");

}

//c矩阵各元素的值

for(i=0;i<3;i++)

for(j=0;j<4;j++)

c[i][j]=a[i][j]+b[i][j];

printf("\narray a+b:\n");

for(i=0;i<3;i++)

{

for(j=0;j<4;j++)

{

printf("%5d",c[i][j]);

}

printf("\n");

}

return0;

}

4、(基础题)输入一个字符串,请编程统计其中的字母、数字、空格(含制表符)、标点符号的个数并输出。如下图所示:

(提示:在教材的p385-386中有字符和字符串函数,可以直接引用。如isalpha()判断字母函数、isdigit()判断数字函数、isspace()判断空格函数、ispunct()判断标点函数等)

程序代码:

#include

#include

#include

int main()

{

char str[201];

int i;

int a[4]={0};//定义4个统计变量,初始值为0

printf("请输入一个长度不超过200的字符串:");

gets(str);

for(i=0;i

{

if(isalpha(str[i])!=0)

a[0]++;

else if(isdigit(str[i]))

a[1]++;

else if(isspace(str[i]))

a[2]++;

else if(ispunct(str[i]))

a[3]++;

}

相关文档
最新文档