欢迎来到天天文库
浏览记录
ID:61761190
大小:59.50 KB
页数:12页
时间:2021-03-19
《上机4-参考解答.doc》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、《C语言程序设计上机指导书》上机4数组一、目的数组是有序数据的集合。本实验通过上机掌握一维和二维数组的使用,以及字符串处理函数的使用方法。二、要求1.掌握一维数组的定义和数组元素引用的正确方法。2.掌握二维数组的定义和数组元素引用的正确方法。3.熟练掌握一维数组与二维数组的常见算法。4.熟悉在什么情况下使用数组,并熟练运用数组来解决实际问题。5.掌握字符串处理函数的使用方法。三、内容及步骤1.编写程序s4-1.c,计算Fibonacci数列的前16个数,并将其存放到一维数组f中,然后输出结果。【指导】①12《C语言程序设计上机指
2、导书》Finonacci数列具有以下特点:它的第1和第2个数分别是0和1,从第3个数开始每个数是它前面两个数之和,从0112358132134…。②用数组实现,即f[k]=f[k-1]+f[k-2](k=2,…,16)。因此可以用循环实现finonacci数列前16个数的计算。(1)程序代码如下,请将填补程序代码中的空缺:#defineN16#includevoidmain(){intf[N],k;f[0]=0;f[1]=1;for(k=2;k3、0;k#includevoidmain(){inta[3][4]={{4,6,3,-7},{5,2,7,-4},{8,6,4,-1}};intmin,p,i,j;for(i=0;i<=2;i++)4、{min=abs(a[i][0]);p=0;for(j=0;j<=3;j++)if(abs(a[i][j])5、-3.c,使其能输出如下的图形。********************12《C语言程序设计上机指导书》*****【指导】①图形由5行,每行5个“*”字符组成,每个字符“*”之间有2个空格。②首先输出每行前面的空格,每一行前面的空格数是不同的,呈递增的规律,可以考虑用一个循环实现。③然后输出每一行的5个“*”。程序代码如下,请将空缺处补充完整。#includevoidmain(){inti,j;charspace='';//变量space存放的是一个空格字符for(i=0;i<5;i++){for(j=0;j<6、3*i;j++)//输出每行的空格printf("%c",space);for(j=0;j<5;j++)//输出每行的*printf("%c",’*’);printf(“”);12《C语言程序设计上机指导书》}}4.用一维数组编写程序s4-4.c。从键盘上输入由5个字符组成的一个字符串str,然后输出该字符串。要求用两种方法实现:(1)按字符逐个输入和输出。(2)按字符串输入和输出。(1)按字符逐个输入和输出。源程序:#includevoidmain(){charstr[6];inti;for(i=0;i<7、6;i++)scanf("%c",&str[i]);for(i=0;i<6;i++)printf("%c",str[i]);printf(“”);}12《C语言程序设计上机指导书》(2)按字符串输入和输出。源程序:#includevoidmain(){charstr[6];gets(str);puts(str);}12《C语言程序设计上机指导书》5.程序s4-5.c是查询某学生是否为该班学生的程序,试填空完成该程序。【指导】(1)字符串的比较要用strcmp()函数,不能用相等运算符“==”进行比较。(2)8、程序中的变量flag是一个控制参数,用于控制输出结果,它的初始值为0。当for循环中的if语句中的判断条件为真,flag的值改变为1。由此可见,如果查找结束时,flag的初始值0没有被改变,说明查找不成功,否则(即flag的值改变为1)查找成功。程序代码如下,请
3、0;k#includevoidmain(){inta[3][4]={{4,6,3,-7},{5,2,7,-4},{8,6,4,-1}};intmin,p,i,j;for(i=0;i<=2;i++)
4、{min=abs(a[i][0]);p=0;for(j=0;j<=3;j++)if(abs(a[i][j])5、-3.c,使其能输出如下的图形。********************12《C语言程序设计上机指导书》*****【指导】①图形由5行,每行5个“*”字符组成,每个字符“*”之间有2个空格。②首先输出每行前面的空格,每一行前面的空格数是不同的,呈递增的规律,可以考虑用一个循环实现。③然后输出每一行的5个“*”。程序代码如下,请将空缺处补充完整。#includevoidmain(){inti,j;charspace='';//变量space存放的是一个空格字符for(i=0;i<5;i++){for(j=0;j<6、3*i;j++)//输出每行的空格printf("%c",space);for(j=0;j<5;j++)//输出每行的*printf("%c",’*’);printf(“”);12《C语言程序设计上机指导书》}}4.用一维数组编写程序s4-4.c。从键盘上输入由5个字符组成的一个字符串str,然后输出该字符串。要求用两种方法实现:(1)按字符逐个输入和输出。(2)按字符串输入和输出。(1)按字符逐个输入和输出。源程序:#includevoidmain(){charstr[6];inti;for(i=0;i<7、6;i++)scanf("%c",&str[i]);for(i=0;i<6;i++)printf("%c",str[i]);printf(“”);}12《C语言程序设计上机指导书》(2)按字符串输入和输出。源程序:#includevoidmain(){charstr[6];gets(str);puts(str);}12《C语言程序设计上机指导书》5.程序s4-5.c是查询某学生是否为该班学生的程序,试填空完成该程序。【指导】(1)字符串的比较要用strcmp()函数,不能用相等运算符“==”进行比较。(2)8、程序中的变量flag是一个控制参数,用于控制输出结果,它的初始值为0。当for循环中的if语句中的判断条件为真,flag的值改变为1。由此可见,如果查找结束时,flag的初始值0没有被改变,说明查找不成功,否则(即flag的值改变为1)查找成功。程序代码如下,请
5、-3.c,使其能输出如下的图形。********************12《C语言程序设计上机指导书》*****【指导】①图形由5行,每行5个“*”字符组成,每个字符“*”之间有2个空格。②首先输出每行前面的空格,每一行前面的空格数是不同的,呈递增的规律,可以考虑用一个循环实现。③然后输出每一行的5个“*”。程序代码如下,请将空缺处补充完整。#includevoidmain(){inti,j;charspace='';//变量space存放的是一个空格字符for(i=0;i<5;i++){for(j=0;j<
6、3*i;j++)//输出每行的空格printf("%c",space);for(j=0;j<5;j++)//输出每行的*printf("%c",’*’);printf(“”);12《C语言程序设计上机指导书》}}4.用一维数组编写程序s4-4.c。从键盘上输入由5个字符组成的一个字符串str,然后输出该字符串。要求用两种方法实现:(1)按字符逐个输入和输出。(2)按字符串输入和输出。(1)按字符逐个输入和输出。源程序:#includevoidmain(){charstr[6];inti;for(i=0;i<
7、6;i++)scanf("%c",&str[i]);for(i=0;i<6;i++)printf("%c",str[i]);printf(“”);}12《C语言程序设计上机指导书》(2)按字符串输入和输出。源程序:#includevoidmain(){charstr[6];gets(str);puts(str);}12《C语言程序设计上机指导书》5.程序s4-5.c是查询某学生是否为该班学生的程序,试填空完成该程序。【指导】(1)字符串的比较要用strcmp()函数,不能用相等运算符“==”进行比较。(2)
8、程序中的变量flag是一个控制参数,用于控制输出结果,它的初始值为0。当for循环中的if语句中的判断条件为真,flag的值改变为1。由此可见,如果查找结束时,flag的初始值0没有被改变,说明查找不成功,否则(即flag的值改变为1)查找成功。程序代码如下,请
此文档下载收益归作者所有