资源描述:
《实验八字符数组程序设计》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库。
1、实验八 字符数组程序设计一、实验学时2学时二、实验目的(一)掌握字符数组的定义、初始化和应用;(二)掌握字符串处理函数的使用。三、预习要求重点预习的内容:C语言中字符串的存储表示;字符数组输入输出的方法;常用的字符串处理函数的使用。四、实验内容(一)输入下面的程序并运行,观察程序运行的结果,并分析原因(注意程序第2行中有些单引号之间是空格)。/*c8-1.c*//*字符数组的输出*/#include"stdio.h"voidmain(){chara[10]={’I’,’’,’a’,’m’,’’,’a’,’’,’b’,’o’,
2、’y’};printf("%s",a);}将字符数组a的大小改为11,再运行程序,并将结果与修改前的结果进行比较,分析原因。(二)按照要求编写程序:有一行文字,不超过80个字符,分别统计出其中英文大写字母、小写字母、数字、空格、及其它字符的个数。编程提示:1.定义一个一维字符数组。2.定义5个整型变量分别统计大写字母、小写字母、数字、空格和其它字符的个数(即作为5个计数器使用),并为这5个变量赋初值。3.用scanf函数或gets函数为字符数组赋一个字符串。4.在循环中对字符数组的每个元素进行判断,相应的计数器加1。注意
3、循环控制的条件和进行判断的条件怎样设置。5.循环结束后输出各计数器的值。思考:如果是对一篇英文文章进行统计,又该怎么编程呢?文章的行数和每行字数可以自己来设。提示:对文章的内容要用二维字符数组来存储。/*c8-2.c*//*统计字符个数*/#include"stdio.h"voidmain(){}(三)下面程序的功能是实现将两个字符串连接起来并输出结果,注意不使用strcat函数。请填空并运行程序。编程提示:1.定义两个一维字符型数组str1、str2和两个循环变量。2.为两个字符数组输入两个字符串(可使用scanf函数或g
4、ets函数整体赋值,要注意scanf和gets函数的区别,在对字符串赋值时,scanf函数不能出现空格)。3.确定字符数组str1结束的位置。4.再将字符数组str2中的内容连接到字符数组str1的后面。5.为字符数组str1赋字符串结束的标志’ ’。6.输出连接后的字符数组str1。/*c8-3.c*//*字符串连接*/#include"stdio.h"voidmain(){charstr1[100],str2[100];inti=0,j=0;printf("pleaseinputthestring1:");scanf(
5、"%s",str1);printf("pleaseinputthestring2:");gets(str2);for(i=0;str1[i]!=' ';i++);/*注意,此处空语句不可少*/for(j=0;str2[j]!=' ';j++){str1[i]=str2[j];i++;}_______________;/*给出新的字符串的结束符*/printf("thecatenatedstringis%s",str1);}(四)下面程序的功能是用strcat函数实现将字符串2连接到字符串1的后面并输出,请补充完整。/*c
6、8-4.c*//*字符串连接*/#include"stdio.h"voidmain(){charstr1[80]="ThisIsa",str2[80]="cProgram";printf("String1is:%s",str1);printf("String2is:%s",str2);_______________;/*使用strcat函数实现,注意其格式*/printf("Resultis:%s",str1);}(五)下面程序的功能是实现将一个字符串中的所有大写字母转换为小写字母并输出,请补充完整。例如:当字符
7、串为"ThisIsacProgram" 输出:"thisisacprogram"/*c8-5.c*//*字符串中的大写字母转为小写字母*/#include"stdio.h"voidmain(){charstr[80]="ThisIsacProgram";inti;printf("Stringis:%s",str);for(i=0;str[i]!=' ';i++)if(str[i]>='A'&&str[i]<='Z')_______________;/*将大写字母转换成小写字母*/printf("Resultis:%s
8、n",str);}思考:如果将字符串中的所有小写字母转换为大写字母,又将如何修改程序?(六)编写程序实现在一个字符串中查找指定的字符,并输出指定的字符在字符串中出现的次数及位置,如果该字符串中不包含指定的字符,请输出提示信息。编程提示:1.定义两个一维数组,a字符数组用来存放字符串,b整数