实验4 数 组
姓名:XXX 学号:XXX 实验日期:XXX
1. 实验目的和要求
(1)掌握一维数组与二维数组的定义、使用及初始化方法。 (2)学习数组作为函数参数的用法。
(3)掌握字符数组和字符串函数的使用方法。
(4)掌握与数组有关的常用排序算法,进一步理解模块化程序设计的方法。 (5)掌握字符、字符串的输入/输出方法。 (6)掌握字符数组的使用。
(7)学会使用字符串的指针和指向字符串的指针变量。
2. 实验内容:实验指导书中的实验六、实验七 3. 实验步骤
实验六 数组部分: 6-1:我使用的算法: 先使投票初始化为0 int vote[6]; int i,number; for (i=1;i<=5;++i) vote[i]=0;
之后用一个循环进行投票进行叠加 printf (\ for (i=1; i<=20;++i) { scanf (\ if (!number) break; ++vote[number]; } printf (\ printf (\ for (i=1;i<=5;++i) printf (\ %d\\n\
程序的运行测试结果如下图所示(考虑各种情况下的运行结果):
6-2:该程序的功能是:
用循环,先把数组的第一个元素暂存起来,为了实现数组的前移,把j赋给j-1;再将暂存的第一个元素赋给最后一个元素;再用循环输出数组。 程序运行结果如下图所示:
6-3 :该程序的功能是:
对a数组中n种商品价格进行分段统计,商品各段价格的数目存放到b数组中。 程序运行结果如下图所示:
6-4.:我使用的算法为:
先对11个元素进行定义,在对10个元素进行排序,之后读入一个待插入的数,与排好的
10个数进行比较,找到插入位置,之后的数组元素进行后移,数组后移的实现,是将j赋值给j+1,最后,将待插入的数赋值到空位。 程序运行结果如下图所示:
6-5:我使用的算法为:
#include
void main() {
char str1[100],str2[100];/*str2表示要在str1中寻找的字符串*/ int len1,len2;/*str1,str2的长度*/ int i,j,k;/*循环变量*/ int count;/*计数*/ /*输入*/
printf(\请输入原始字符串:\ gets(str1);
printf(\请输入要在原始字符串中查找的子字符串:\ gets(str2) ;
/*初始化变量*/ len1=strlen(str1); len2=strlen(str2); count=0;
/*开始计数,请务必读懂如下程序段*/ for(i=0;i k=i; //从str1的下标为k的元素开始,逐个 for(j=0;j if(str2[j]!=str1[k]) { break; } } if(j==len2) { count++; i=k-1; } } /*输出*/ printf(\字符串\\\中包含%d个子字符串\\\ getchar(); } 程序运行结果如下图所示: 6-6 (选作):我使用的算法为:请用文字描述一下 程序运行结果如下图所示: 6-7 (选作):我使用的算法为:请用文字描述一下 程序运行结果如下图所示: 7-1 该程序的功能是: 程序运行结果如下图所示: 将字符串a中的数字去掉,形成新的字符串b 7-2:我使用的算法为: #include int i,j; printf(\请输入字符串1:\\n\ gets(str1); printf(\请输入字符串2:\\n\ gets(str2); for(i=0;str1[i]!='\\0';i++) { str3[i]=str1[i]; } j=i; for(i=0;str2[i]!='\\0';i++,j++) { str3[j]=str2[i]; } printf(\两个字符串的组合结果为:\\n\ puts(str3); }?? 程序运行结果如下图所示: 7-3:我使用的算法为: #include void main() { int nLower=0; int nNum=0; int nOther=0; 百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说综合文库C语言程序设计实验4 数组 周信东在线全文阅读。
相关推荐: