实验56数组.docx
- 文档编号:26940043
- 上传时间:2023-06-24
- 格式:DOCX
- 页数:13
- 大小:126.41KB
实验56数组.docx
《实验56数组.docx》由会员分享,可在线阅读,更多相关《实验56数组.docx(13页珍藏版)》请在冰豆网上搜索。
实验56数组
实验5一维数组和二维数组
一、实验目的
1、掌握一、二维数组的定义及初始化
2、掌握数组元素的输入、输出及引用方法
3、掌握使用循环对数组元素进行访问
4、掌握一、二维数组的简单应用
二、知识要点
1、一、二维数组的定义与赋值(初始化、循环键盘输入)
2、访问数组元素(下标的正确使用)
3、数组的典型应用(复制、求和、统计某种元素个数、求数组中的最大/最小值、元素的查找与排序)
三、实验预习(要求做实验前完成)
1、定义一个有四个元素的float型数组:
floata[4]
2、定义一个具有五个元素的整型数组并将其初始化为{123,4,5}
inta[5]={1,2,3,4,5}
3、要用循环从键盘输入整型数组s的元素值(共6个),应该使用语句:
for(i=0;
i<6;i++){seanf(“%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。
编程,将数组元素逆置后输出。
(提示:
第一个与最后一个交换位置,第二个与倒数第二个交换位置,)
#include
main()
{int
c[10]={3,6,8,4,5,66,80,72,69,70};
inti;
for(i=9;i>=0;i--)
1.定义字符型数组c[10]整型变量io
2.将数组初始化。
3.利用循环for(i=9;i>=0;i--)
逆置输出。
printf("%d”,c[i]);
printf("\n");
2、编程序求Fibonacci数列的前30项,Fibonacci数列的定义为:
1(n=1)
fn=」1(n=2)
fn」+fn_2(n>2)
要求将数列存放在数组中,并按每行
#include
main()
{inti,a[30];
a[0]=1;
a[1]=1;
for(i=2;i<30;i++)
{
a[i]=a[i-1]+a[i-2];
}
for(i=0;i<=29;i++){
printf("%d”,a[i]);if((i+1)%5==0)printf("\n”);
}
}
3、输入一个4行4列的二维数组,统计偶数的个数,并输出所有小于5的数。
#inelude
1.定义变量a,b,i,j,数组m[4][4];
2.初始化:
b=0,a=0
执行循环for(i=0;i<4;i++)for(j=0;j<4;j++)scanf("%d",&m[i][j]);将数组初始化。
3.使用二重循环和if语句分别判断数组的各个元素是不是二的倍数如果是,则给a加1,;如果小于5,则输出他。
4.输出a的值.
main()
{
inta,b,i,j,m[4][4];
a=0;
b=0;
printf("请输入一个四阶整型二维数组\n");
for(i=0;i<4;i++)
for(j=0;j<4;j++)
scanf("%d",&m[i][j]);
for(i=0;i<4;i++)
for(j=0;j<4;j++)
{
if(m[i][j]%2==0)a=a+1;
if(m[i][j]<5)
{
b=b+1;
printf("小于的数:
%d",m[i][j]);
}
}
printf("\n");
printf("偶数有%d个\n",a);
printf("小于5的数有%d个\n",b);
}
4、已知一个二维数组:
{{14,26,18,17},{24,37,21,8},{19,31,22,16},{7,19,14,26}}
编程,输出该二维数组的最小元素的行下标与列下标
inelude
main()
{
inti,j,min,r,c;
intm[4][4]={{14,26,18,17},{24,37,21,8},{19,31,22,16},{7,19,14,26}};
r=0;
c=0;
min=m[0][0];
for(i=0;i<4;i++)
for(j=0;j<4;j++)
if(m[i][j] { min=m[i][j]; r=i; c=j; } printf("min=%d,r=%d,c=%d\n",min,r,c); } 五、实验结果 要求写出运行界面并输出运行结果 (1) (2) (3) 实验6字符串及其处理(字符数组应用) 一、实验目的 1、理解字符串的概念及存储 2、掌握字符串的输入输出方法 3、掌握字符串常用库函数的使用方法 4、对字符串进行基本处理 二、知识要点 1、字符串概念: 用双引号界定,以‘\0'结尾的一串字符 2、字符串的存储: 用字符数组存储 3、字符长的输入输出: 格式符“%c”、“%s”及库函数gets、puts的使用 4、字符串库函数的使用 5、访问字符串中的字符: 通过访问字符数组元素的方法实现 三、实验预习(要求做实验前完成) 1、定义一个数组ss,同时将字符串“CHINA”存放其中,使用语句: Charss[6]={CHINA”}; 2、字符串的结尾总是有一个字符: ”\0” 3、假如有语句: charx[15]=abed”;则数组x的长度是: x中的字符串 的长度是: 5 4、字符串比较和字符串的复制使用库函数: strcmp()strcpy() 四、实验内容 1、编写程序,要求从键盘输入一字符串,然后将该字符串中的每个字符反向输出。 (提示: 先求出字符串长度,然后从最后一个字符开始往前逐个输出字符) #include"stdio.h" #include"string.h" voidmain() { chara[30]; inti,k; gets(a); k=strlen(a); for(i=k-1;i>=0;i--) printf("%c",a[i]); printf("\n"); } 2、输入一字符串,将该字符串中的所有字母a变为字母b,输出新字符串。 #include"stdio.h" #include"string.h" voidmain() { chara[30]; inti; gets(a); for(i=0;i if(a[i]=='a')a[i]='b'; printf("%s\n",a); } 3、输入两个字符串(串长度需大于5),将第一个字符串的前5个字符与第 二个字符串的前5个字符组成一个新的字符串,输出这个新的字符串。 #include"stdio.h" #include"string.h" voidmain() { chara[30],b[30],c[30]; inti; gets(a); gets(b); for(i=0;i<5;i++) c[i]=a[i]; for(i=5;i<10;i++) c[i]=b[i-5]; c[i]='\O: puts(c); printf("\n"); } 4、利用库函数编程: 输入两个字符串s1和s2,将较大的字符串复制到S3中,输出字符串S3。 #include"stdio.h" #include"string.h" voidmain() { chars1[30],s2[30],s3[30]; gets(s1); gets(s2); if(strcmp(s1,s2)>0) strcpy(s3,s1); elsestrcpy(s3,s2); puts(s3); (2) (3) iff 可・D: \C++\Pebug\jbh,e„.■回 五、实验结果 要求写出运行界面并输出运行结果 (1)r Ilave 半: continue Ilouej/oujbhpleasedon*tleavemeaaaaaaIloue5/0lljbhplebsedon'七lebuemebbbbbb? pessanjkeyto 2E- jhasjhahjFknjliuihnjnkjnJliuihnJnkJPpessanvkeytocontinue 1.Id (4)! 3・D: \C++\Debug\ppte,n.□|E RD: \C++\Debug\pp.exe" D: \C++\Debug\pp.eKe' 丨ui11回M Ml dotaabc dotaahc □ dotaadotaa Pressanvkeytocontinue Bi 1*1出
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 实验 56 数组