上机4参考解答_第1页
上机4参考解答_第2页
上机4参考解答_第3页
上机4参考解答_第4页
上机4参考解答_第5页
已阅读5页,还剩8页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、上机4数组一、目的数组是有序数据的集合。本实验通过上机 掌握一维和二维数组的使用,以及字符串处理 函数的使用方法。二、要求1. 掌握一维数组的定义和数组元素引用的正确 方法。2. 掌握二维数组的定义和数组元素引用的正确 方法。3. 熟练掌握一维数组与二维数组的常见算法。4. 熟悉在什么情况下使用数组,并熟练运用数 组来解决实际问题。5. 掌握字符串处理函数的使用方法。三、内容及步骤1. 编写程序,计算Fibonacci数列的前16个数,并将其存放到一维数组f中,然后输岀结 果。【指导】Finonacci数列具有以下特点:它的第1和第 2个数分别是0和1,从第3个数开始每个数是 它前面两个数之和

2、,从0 1 1 2 3 5 8 13 21 34。 用 数 组 实 现, 即fk=fk-l+fk-2 (k=2,,16) o 因此可以用 循环实现finonacci数列前16个数的计算。(1)程序代码如下,请将填补程序代码中的空缺:define N 16 ftinclude void main()int fN, k;f0二0;fl=1;for (k=2;kN;k+)fk=fk-l+fk-2;for (k=O;kN;k+)printf( “d” ,fk);if(k+l)%4=0)printf ( “n”);(2)编译运行程序,程序输岀的结果是:0 1123 5 81321 34 55 89144

3、 233 377 6102. 读程序,说明程序的功能和输出结果。 ftinclude ftinclude void main()int a3 4 = 4, 6, 3,-7, 5, 2, 7, -4, 8,6, 4,-1;int min, p, i, j;for (i=0;i=2; i+)min=abs (a.i 0);P=0;for(j=0;j=3;j+)if (abs(aij) min)min=abs(ai j);P=j;printf(dt ai p, i, p);【指导】(1) 程序最终输出的是aip, i, p的结果, 那么,aip, i, p在程序中分别代表什么。表示每行中绝对值最小的

4、数i表示该数所在的行P表示该数所在的列(2) 程序运行的结果是:3(0,2)2(1,1)T(2,3)3. 完善程序,使其能输出如下的图形。* * * *【指导】图形由5行,每行5个“*”字符组成,每个字符“*”之间有2个空格。 首先输出每行前面的空格,每一行前面的空 格数是不同的,呈递增的规律,可以考虑用一 个循环实现。 然后输出每一行的5个“*”。程序代码如下,请将空缺处补充完整。#include void main()int i, j;char space=, 5 ;用一维数组编写程序。从键盘上输入由5个字符组成的一个字符串 str,然后输出该字符串。要求用两种方法实现:(1) 按字符逐个

5、输入和输出。(2) 按字符串输入和输出。(1)按字符逐个输入和输出。源程序:片include void mainOchar str6;int i;for(i=0;i6;i+)(2)按字符串输入和输出。 源程序:include void mainOchar str 6;gets (str);puts (str);5.程序是查询某学生是否为该班学生的程序, 试填空完成该程序。【指导】(1)字符串的比较要用strcmpO函数,不能用 相等运算符进行比较。(2)程序中的变量flag是一个控制参数,用 于控制输出结果,它的初始值为Oo当for循环 中的if语句中的判断条件为真,flag的值改变 为lo由

6、此可见,如果查找结束时,flag的初 始值0没有被改变,说明查找不成功,否则(即flag的值改变为1)查找成功。程序代码如下,请将空缺处补充完整。#include void main()char classStu5 8 = z/王小华:张三,“赵四,向玲 ,“丁一;int i, flag=0;char name 8;printfC请输入要查询的学生姓名:“); gets (name);for (i=0; i5; i+)不用 strcat ()函数,将两 个字符串连接起来,试完善。【指导】将字符数组s2连接到字符数组si后面的算法 步骤如下:(1) 确定si的串尾位置。(2) 将s2连接到si后

7、面。(3) 在si串尾加结束符(如果不加结束符, 输出时可能在串的末尾有非法字符)。程序代码如下,请将空缺处补充完整。#include void main()char si 80,s240;int i=0,j=0;printf (zzEnter sl:); scanfsi);printf (/ZEnter s2:); scanfs2);for (;sli!= 0 ;i+);for (;s2j!= 0 ;i+, j+)sli二s2j;sli=, 0 ;printf(nResult is:%s,si);U!编程1 给整型一维数组b10输入10个数据,计算并输出数组中所有正数之和、所有负数之和。源程

8、序1:#include void mainO(int b10;int i;int suml=0, sum2=0:for(i=0;i10;i+)scanf &bi);for(i=0;i0)suml+=bi;else if (bi负数之和为:suml, sum2);2.青年歌手参加歌曲大奖赛,有10个评委进行 打分,试编程求这位选手的平均得分(去掉一 个最高分和一个最低分)。【指导】这道题的核心是排序。将评委所打的 10个分数利用数组按增序(或降序)排列,计算数组中除第一个和最后一个分数以外的数的 平均分。源程序2:ttinclude #define N 10void main 0int scoreN;int i, j ;float average=0, sum=0;for(i=0;iN;i+)scanf&sco

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论