C语言实验 数组
实验5 一维数组和二维数组
一、实验目的
1、掌握一、二维数组的定义及初始化
2、掌握数组元素的输入、输出及引用方法
3、掌握使用循环对数组元素进行访问
4、掌握一、二维数组的简单应用
二、知识要点
1、一、二维数组的定义与赋值(初始化、循环键盘输入)
2、访问数组元素(下标的正确使用)
3、数组的典型应用(复制、求和、统计某种元素个数、求数组中的最大/最小值、元素的查找与排序)
三、实验预习 (要求做实验前完成)
1、定义一个有四个元素的float型数组:float m[4];
2、定义一个具有五个元素的整型数组并将其初始化为{1,2,3,4,5}
int a[5]={1,2,3,4,5};
3、要用循环从键盘输入整型数组s的元素值(共6个),应该使用语句:for(i=0; i<6;i++) {scanf(“%d”,&s[i]);}
4、交换数组元素d[2]和d[4],使用语句:d=d[2];d[2]=d[4];d[4]=d;
5、语句for(k=0;k<3;k++) x[2][k] = 0; 将把哪些元素变为0?答:第二行的前三个元素
四、实验内容 (要求提供:① 算法描述或流程图 ② 源程序 )
1、已知一个数组有10个元素,值分别是3,6,8,4,5,66,80,72,69,70。编程,将数组元素逆置后输出。(提示:第一个与最后一个交换位置,第二个与倒数第二个交换位置,……)
2、编程序求Fibonacci数列的前30项,Fibonacci数列的定义为:
要求将数列存放在数组中,并按每行5个数的格式输出该数列。
yes
3、输入一个4行4列的二维数组,统计偶数的个数,并输出所有小于5的数。
4、已知一个二维数组:{{14,26,18,17},{24,37,21,8},{19,31,22,16},{7,19,14,26}},编程,输出该二维数组的最小元素的行下标与列下标。
五、实验结果
要求写出运行界面并输出运行结果
实验6 字符串及其处理(字符数组应用)
一、实验目的
1、理解字符串的概念及存储
2、掌握字符串的输入输出方法
3、掌握字符串常用库函数的使用方法
4、对字符串进行基本处理
二、知识要点
1、字符串概念:用双引号界定,以‘\0’结尾的一串字符
2、字符串的存储:用字符数组存储
3、字符长的输入输出:格式符“%c”、“%s”及库函数gets、puts的使用
4、字符串库函数的使用
5、访问字符串中的字符:通过访问字符数组元素的方法实现
三、实验预习 (要求做实验前完成)
1、定义一个数组ss,同时将字符串“CHINA”存放其中,使用语句:char ss[6]=”CHINA”;
2、字符串的结尾总是有一个字符:’\0’
3、假如有语句:char x[15] = “abcd”; 则数组x的长度是:15 x中的字符串的长度是:5
4、字符串比较和字符串的复制使用库函数:strcmp(),strcpy(),strncpy().
四、实验内容
1、编写程序,要求从键盘输入一字符串,然后将该字符串中的每个字符反向输出。(提示:先求出字符串长度,然后从最后一个字符开始往前逐个输出字符)
2、输入一字符串,将该字符串中的所有字母a变为字母b,输出新字符串。
4、利用库函数编程:输入两个字符串s1和s2,将较大的字符串复制到s3中,输出字符串s3。
五、实验结果
要求写出运行界面并输出运行结果
#include
#include
main()
{
int n;
char c[100];
printf("请输入长度小于100个字母的字符串:\n");
gets(c);
n=strlen(c);
printf("反向输出为:\n");
for(n=n-1;n>=0;n--)
printf("%c",c[n]);
printf("\n");
}
#include
#include
main()
{
int i;
char c[100];
printf("请输入长度小于100的字符串:\n");
gets(c);
i=strlen(c);
for(i=i-1;i>=0;i--)
if(c[i]=='a') c[i]='b';
printf("替换后的字符串:\n");
for(i=0