答案-实验报告-实验7-数组(学号-姓名).doc

上传人:doc321 文档编号:14382181 上传时间:2022-02-04 格式:DOC 页数:7 大小:160KB
返回 下载 相关 举报
答案-实验报告-实验7-数组(学号-姓名).doc_第1页
第1页 / 共7页
答案-实验报告-实验7-数组(学号-姓名).doc_第2页
第2页 / 共7页
答案-实验报告-实验7-数组(学号-姓名).doc_第3页
第3页 / 共7页
答案-实验报告-实验7-数组(学号-姓名).doc_第4页
第4页 / 共7页
答案-实验报告-实验7-数组(学号-姓名).doc_第5页
第5页 / 共7页
点击查看更多>>
资源描述

《答案-实验报告-实验7-数组(学号-姓名).doc》由会员分享,可在线阅读,更多相关《答案-实验报告-实验7-数组(学号-姓名).doc(7页珍藏版)》请在三一文库上搜索。

1、实验报告_实验7_数组(学号_姓名)一、实验目的:1、理解数组的作用、特点;2、掌握一维数组、二维的定义、引用、初始化,能够与循环结合实现批量数据处理(如输入、输出,比较大小,交换等);3、掌握字符数组、字符串的使用;4、熟悉打擂台等典型算法。二、实验内容1、(基础题)有一个数列,它的第一项为1,第二项为2,第三项为3,以后每一项都等于它的前三项之和。使用一维数组编程实现功能:计算该数列的前20项并赋值给数组,然后以逆序方式输出,每一行5个数据。如下图所示:程序代码:#include int main() int i; int f20=1,2,3; for(i=3;i=0;i-) /每行输出5

2、个数据 printf(%10d,fi); if(i%5=0) printf(n); printf(nn); return 0;2、(基础题)青年歌手大奖赛,有7名评委进行打分,分数取值范围:0.010.0,试编程实现如下功能:从键盘输入7位评委给某一选手的评分,之后计算、输出该选手的平均得分(计算规则:去掉一个最高分和一个最低分,求出剩余5个得分的平均值)。如下图所示:(提示:使用一维数组来保存7位评委的给分,先计算所有评委给分总和,并找到最高分、最低分,然后用给分总和-最高分-最低分,再除5得到选手的平均得分,最后输出。)程序代码:#include #define N 7int main()

3、 double scoreN; double max,min,sum,aver; int i; printf(请输入%d位评委的给分:n,N); for(i=0;iN;i+) scanf(%lf,&scorei); max=min=sum=score0; for(i=1;iN;i+) if(maxscorei) min=scorei; sum=sum+scorei; sum=sum-max-min; aver=sum/(N-2); printf(n去掉一个最高分: %.4f,去掉一个最低分:%.4fnn,max,min); printf(该选手的最后得分是: %.4fnn,aver); ret

4、urn 0;3、(基础题)计算矩阵之和:先输出这两个矩阵,再输出求和后矩阵。(提示:矩阵之和是对应元素相加,可用二维数组实现)程序代码:#include int main() int a34=3,0,4,5,6,2,1,7,4,1,5,8; int b34=1,4,0,3,2,5,1,6,9,3,6,0; int c34; int i,j; printf(array a:n);for (i=0;i3;i+) for (j=0;j4;j+) printf(%5d,aij);/12 printf(n);/3 printf(narray b:n); for (i=0;i3;i+) for (j=0;

5、j4;j+) printf(%5d,bij); printf(n); /c矩阵各元素的值 for (i=0;i3;i+) for (j=0;j4;j+) cij=aij+bij; printf(narray a+b:n); for (i=0;i3;i+) for (j=0;j4;j+) printf(%5d,cij); printf(n); return 0;4、(基础题)输入一个字符串,请编程统计其中的字母、数字、空格(含制表符)、标点符号的个数并输出。如下图所示:(提示:在教材的p385-386中有字符和字符串函数,可以直接引用。如isalpha()判断字母函数、isdigit()判断数字

6、函数、isspace()判断空格函数、ispunct()判断标点函数等)程序代码:#include #include #include int main() char str201; int i; int a4=0;/定义4个统计变量,初始值为0 printf(请输入一个长度不超过200的字符串: ); gets(str); for(i=0;istrlen(str);i+) if (isalpha(stri)!=0) a0+; else if (isdigit(stri) a1+; else if (isspace(stri) a2+; else if (ispunct(stri) a3+;

7、printf(该字符串的字母个数、数字个数、 空格个数、标点个数分别为:); for(i=0;i4;i+) printf(%d ,ai); return 0;5、(提高题)已知学生成绩如下表,要求用二维数组保存学生成绩,并计算每个学生的平均成绩以及各门课程的平均成绩。 程序运行效果如下图所示:#include #define M 4#define N 3int main() float scMN; int Row,Col;/定义行,列两个控制变量 float average_stuM=0.0;/存放每个学生的平均成绩 float average_scN=0.0;/存放每门课程的平均成绩 pri

8、ntf(请输入4个学生3门课程的成绩: ); for(Row=0;RowM;Row+) for(Col=0;ColN;Col+) scanf(%f,&scRowCol); printf(n已输入的学生成绩: n); for(Row=0;RowM;Row+) for(Col=0;ColN;Col+) printf(%.2lft,scRowCol); printf(n); /计算每个学生的平均成绩 for(Row=0;RowM;Row+) for(Col=0;ColN;Col+) average_stuRow+=scRowCol; average_stuRow/=N; /计算每门课程的平均成绩 f

9、or(Col=0;ColN;Col+) for(Row=0;RowM;Row+) average_scCol+=scRowCol; average_scCol/=M; / 输出每个学生的平均成绩 for(Row=0;RowM;Row+) printf(第%d个学生的平均成绩为:%.2lfn,Row+1,average_stuRow); printf(n); / 输出每门课程的平均成绩 for(Col=0;ColN;Col+) printf(第%d门课程的平均成绩为:%.2lfn,Col+1,average_scCol); printf(n); return 0; (注:可编辑下载,若有不当之处,请指正,谢谢!)

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 社会民生


经营许可证编号:宁ICP备18001539号-1