实验报告9答案

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

实验报告

课程名称:高级语言程序设计

实验九:函数与数组

班级:

学生姓名:

学号:

专业:

指导教师:

学期:2010-2011学年上学期

云南大学信息学院

一、实验目的

1、掌握数组作为参数的函数编写与调用方法

2、掌握数组作为参数的特殊性

3、掌握字符串作为参数的函数编写与调用方法

二、知识要点

1、地址传递的概念及使用

2、数组元素和数组名作为函数参数的特点与区别

3、字符串作为参数的特点:‘\0’字符的使用

三、实验预习(要求做实验前完成)

1、数组作为函数参数时,其特殊性是

2、定义作为参数的函数时,通常需要提供长度作为参数;而定义

作为参数的函数时,通常不需要提供长度参数

3、写出满足如下要求函数的函数首部:

①函数名为fmax,求一个实型数组的最大元素值:

②函数名为scount,求一个字符串中大写字母的个数:

③函数名为delf,删除一个字符串的第一个字符:

四、实验内容

1、编写一个函数,其功能是将字符串中的大写字母改为小写字母,其他字

符不变。

2、编写一个函数,求出给定的二维数组中每一行最大的元素,并显示出来。

3、在主函数中输入N个人的某门课程的成绩,分别用函数求:①平均分、最

高分和最低分;②分别统计90~100分的人数、80~89分的人数、70~

79分的人数、60~69分的人数及59分以下的人数。结果在主函数中输出。

五、实验结果(要求写出运行界面及输出的运行结果)

六、实验小结

1.#include

#include

void change(char a[])

{int i;

for(i=0;i

if(a[i]>='A'&&a[i]<='Z')

a[i]+=32;

}

void main()

{char c[30],k;

printf("请输入一个包含大写字母的字符串:\n"); gets(c);

change(c);

puts(c);

}

2.#include

void max(int b[3][3])

{int i,j,max[3];

for(i=0;i<3;i++) max[i]=b[i][0];

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

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

if(b[i][j]>max[i]) max[i]=b[i][j];

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

printf("第%d行最大值为:%d\n",i+1,max[i]); printf("\n");

}

void main()

{int i,j,a[3][3];

printf("输入3行3列的数组:");

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

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

scanf("%d",&a[i][j]);

printf("数组元素为:\n");

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

{for(j=0;j<3;j++) printf("%d ",a[i][j]);

printf("\n");

}

max(a);

}

3.

#include

int max,min;

float aver;

void f1(int score[],int n)

{int i; float sum;

max=min=sum=score[0];

for(i=1;i

{sum+=score[i];

if(score[i]>max)max=score[i];

else if(score[i]

}

aver=sum/n;

}

void f2(int score[],int b[],int n)

{

int i;

for(i=0;i<5;i++) b[i]=0;

for(i=0;i

switch(score[i]/10)

{case 10:

case 9:b[4]++;break;

case 8:b[3]++;break;

case 7:b[2]++;break;

case 6:b[1]++;break;

default: b[0]++; break;

}

}

main()

{int i,n,score[50],b[5];

printf("输入N值::");

scanf("%d",&n);

printf("输入N个成绩:");

for(i=0;i

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

f1(score,n);

printf("max=%d min=%d aver=%f\n",max,min,aver); f2(score,b,n);

printf("90~100 80~89 70~79 60~69 <60\n");

for(i=4;i>=0;i--)

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

printf("\n");

}

相关文档
最新文档