字符数组和字符串函数
实验 6 字符数组和字符串函数
一、 实验学时:2课时
二、 实验目标
1. 熟悉掌握字符数组的使用。
2. 掌握与数组有关的算法。
三、 实验要求:
1. 在上实验课之前,每一个同学必须将实验的题目、程序编写完毕,做好充分的
准备。
2. 所有实验环节均由每位同学独立完成,严禁抄袭他人实验结果,若发现有结果
雷同者,按实验课考核办法处理。
四、 实验步骤和内容
, 【启动Visual C++】
, 【新建工程】
, 选中【C++ Source File】项,【新建源程序文件】
, 编辑程序
, 执行程序
【例5.7】gets读取字符串与puts输出字符串。 /*
源文件名:Li5_7.c
功能:gets读取字符串与puts输出字符串。 */
#include
void main()
{
char s[18] ; /*定义s字符数组的初值*/
printf("输入字符串") ;
gets(s) ; /*读取字符串*/
puts(s) ; /*输出字符串*/
printf("读取的字符串是\"%s\"\n",s) ; /*输出s字符数组的值*/
}
1) 观查执行结果,是否与教材相同。
2) 思考gets()和scanf()、puts()和printf()函数在输出字符串的异同点
【例5.8】输入一组字符串,以输入空串结束输入,找出最大的字符串(设串长不超过80
字符)。
/*
源文件名:Li5_8.c
功能:输入一组字符串,找出最大的字符串。 */
可以用gets函数读取字符串,设置一个最大字符串数组smax,第一次设置smax为空串,
每读一个字符串s就把它与保存在smax中的字符串比较,如s>smax则用s替换smax,不然smax
保持不变,这样当所有的字符串输入完毕后,smax中存储的就是最大字符串。
#include
#include
void main()
{
char smax[80],s[80] ; /*定义s数组和smax数组*/ strcpy(smax, " ") ; /*设置smax数组为空,也可以设置smax[0]=‘\0‘*/
do
{
printf("输入字符串:") ;
gets(s) ; /*读取字符串*/
if(strcmp(s,smax)>0)
strcpy(smax,s) ; /*s数组比smax数组大的话,把s数组赋值个smax数组*/
}while(s[0]!=‘\0‘
puts("最大的字符串是") ;
puts(smax) ;
}
1)观查执行结果,是否与教材相同。
2)重新输入不同的字符串,再查看结果
五、 思考题
1) 【例5.7】思考gets()和scanf()、puts()和printf()函数在输出字符串的异同点。
2) 【例5.5】若要找出最小字符串,该如何实现,
六、 实验小结: