欢迎来到天天文库
浏览记录
ID:8829344
大小:548.50 KB
页数:16页
时间:2018-04-08
《实验6数组(含函数调用)》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库。
1、试验六数组一、实验目的1.了解数组的特点,掌握一维数组的定义、初始化及其使用方法。2.掌握字符串的输入输出方法,熟悉常用的字符串操作函数。3.掌握二维数组的定义、初始化及其使用方法。二、所涉及到的知识点1.一维数组的定义。考虑数组定义的格式,数组元素在内存中的存储形式及地址分配,数组名的意义,数组元素的维数(数组元素的个数)等。2.一维数组的初始化。数组初始化赋值的形式,考虑初始值多于数组维数,少于数组维数以及数组维数缺省的情况下,初始赋值的意义理解。3.二维数组的定义。考虑二维数组定义的格式,尤其是行和列变化,二维数组在内存中如
2、何存储,地址如何分配,二维数组如何转化为一维数组,数组下标如何变化?4.二维数组的初始化。二维数组初始化的形式,考虑行下标和列下标在什么情况下可以缺省,缺省时的意义有何不同?5.字符数组的定义和初始化。理解字符数组和字符串之间的联系和区别。尤其是字符串结束标志‘ ’的意义。分析字符串长度、字符串所占内存空间的大小这两种描述的区别。6.字符数组的输入输出,字符串的输入输出,并比较二者的异同。三、实验内容(一)阅读并调试下列程序,给出程序结果,并指明程序的功能是什么。1.求最大值问题。#include"stdio.h"#define
3、N10voidmain(){inta[N]={20,9,10,-16,-9,18,96,7,11,33};inti,max=a[0],m=0;for(i=1;i4、*这是宏定义语句,表示后面程序中出现的N均为10*/voidmain(){inta[N],b[N],i,j=0,k=N-1;printf("请输入数据:");for(i=0;i5、①调试程序时通常先将N定义为一个小数值,当程序调试成功后再将N定义为常数10,这样可以提高程序的调试效率。②在设计调试用数据时,应考虑各种数据情况,以便提高程序的可靠性。程序运行结果:3.字母统计问题。输入一个长度小于80的字符串,统计其中字母的个数。/*字母统计问题程序*/#include"stdio.h"voidmain(){chars[20];inti=0,counter=0;printf("请输入字符串:");gets(s);while(s[i]!=' '){if(s[i]>='a'&&s[i]<='z'6、7、s[i]8、>='A'&&s[i]<='Z')counter++;i++;}printf("Total:%d",counter);}程序调试①运行程序,输入一个长度不足20的字符串,察看并分析程序运行结果。②运行程序,输入一个长度恰好是20的字符串,察看并分析程序运行结果。③运行程序,输入一个长度超过20的字符串,察看并分析程序运行结果。④运行程序,输入一个全是字母的字符串,察看并分析程序运行结果。⑤运行程序,输入一个没有字母的字符串,察看并分析程序运行结果。⑥运行程序,只输入一个回车符,察看并分析程序运行结果。⑦运行程序,输入你认为最有9、特点的一个字符串,察看并分析程序运行结果。4.奇偶数问题。设有一维整型数组共有20个元素,且偶数与奇数各占一半,将该数组变换为2×10的二维数组且偶数和奇数各成一行。/*二维数组问题程序*/include"stdio.h"voidmain(){inta[20],b[2][10];inti,j,col1=0,col2=0;printf("请输入数据:");for(i=0;i<20;i++)scanf("%d",&a[i]);for(i=0;i<20;i++){if(a[i]%2==0)b[0][col1++]=a[i];/*偶数10、存储在b[0]数组*/elseb[1][col2++]=a[i];/*奇数存储在b[1]数组*/}for(i=0;i<2;i++){for(j=0;j<10;j++)printf("%6d",b[i][j]);printf("");}}程序调试
4、*这是宏定义语句,表示后面程序中出现的N均为10*/voidmain(){inta[N],b[N],i,j=0,k=N-1;printf("请输入数据:");for(i=0;i5、①调试程序时通常先将N定义为一个小数值,当程序调试成功后再将N定义为常数10,这样可以提高程序的调试效率。②在设计调试用数据时,应考虑各种数据情况,以便提高程序的可靠性。程序运行结果:3.字母统计问题。输入一个长度小于80的字符串,统计其中字母的个数。/*字母统计问题程序*/#include"stdio.h"voidmain(){chars[20];inti=0,counter=0;printf("请输入字符串:");gets(s);while(s[i]!=' '){if(s[i]>='a'&&s[i]<='z'6、7、s[i]8、>='A'&&s[i]<='Z')counter++;i++;}printf("Total:%d",counter);}程序调试①运行程序,输入一个长度不足20的字符串,察看并分析程序运行结果。②运行程序,输入一个长度恰好是20的字符串,察看并分析程序运行结果。③运行程序,输入一个长度超过20的字符串,察看并分析程序运行结果。④运行程序,输入一个全是字母的字符串,察看并分析程序运行结果。⑤运行程序,输入一个没有字母的字符串,察看并分析程序运行结果。⑥运行程序,只输入一个回车符,察看并分析程序运行结果。⑦运行程序,输入你认为最有9、特点的一个字符串,察看并分析程序运行结果。4.奇偶数问题。设有一维整型数组共有20个元素,且偶数与奇数各占一半,将该数组变换为2×10的二维数组且偶数和奇数各成一行。/*二维数组问题程序*/include"stdio.h"voidmain(){inta[20],b[2][10];inti,j,col1=0,col2=0;printf("请输入数据:");for(i=0;i<20;i++)scanf("%d",&a[i]);for(i=0;i<20;i++){if(a[i]%2==0)b[0][col1++]=a[i];/*偶数10、存储在b[0]数组*/elseb[1][col2++]=a[i];/*奇数存储在b[1]数组*/}for(i=0;i<2;i++){for(j=0;j<10;j++)printf("%6d",b[i][j]);printf("");}}程序调试
5、①调试程序时通常先将N定义为一个小数值,当程序调试成功后再将N定义为常数10,这样可以提高程序的调试效率。②在设计调试用数据时,应考虑各种数据情况,以便提高程序的可靠性。程序运行结果:3.字母统计问题。输入一个长度小于80的字符串,统计其中字母的个数。/*字母统计问题程序*/#include"stdio.h"voidmain(){chars[20];inti=0,counter=0;printf("请输入字符串:");gets(s);while(s[i]!=' '){if(s[i]>='a'&&s[i]<='z'
6、
7、s[i]
8、>='A'&&s[i]<='Z')counter++;i++;}printf("Total:%d",counter);}程序调试①运行程序,输入一个长度不足20的字符串,察看并分析程序运行结果。②运行程序,输入一个长度恰好是20的字符串,察看并分析程序运行结果。③运行程序,输入一个长度超过20的字符串,察看并分析程序运行结果。④运行程序,输入一个全是字母的字符串,察看并分析程序运行结果。⑤运行程序,输入一个没有字母的字符串,察看并分析程序运行结果。⑥运行程序,只输入一个回车符,察看并分析程序运行结果。⑦运行程序,输入你认为最有
9、特点的一个字符串,察看并分析程序运行结果。4.奇偶数问题。设有一维整型数组共有20个元素,且偶数与奇数各占一半,将该数组变换为2×10的二维数组且偶数和奇数各成一行。/*二维数组问题程序*/include"stdio.h"voidmain(){inta[20],b[2][10];inti,j,col1=0,col2=0;printf("请输入数据:");for(i=0;i<20;i++)scanf("%d",&a[i]);for(i=0;i<20;i++){if(a[i]%2==0)b[0][col1++]=a[i];/*偶数
10、存储在b[0]数组*/elseb[1][col2++]=a[i];/*奇数存储在b[1]数组*/}for(i=0;i<2;i++){for(j=0;j<10;j++)printf("%6d",b[i][j]);printf("");}}程序调试
此文档下载收益归作者所有