当前位置:文档之家› 汇编程序设计实验----统计一维数组每个数的位数

汇编程序设计实验----统计一维数组每个数的位数

汇编程序设计实验----统计一维数组每个数的位数
汇编程序设计实验----统计一维数组每个数的位数

实验报告

数组练习题及答案

第五章数组练习题及答案 一、选择题 1、判断字符串a和b是否相等,应当使用() A、if(a==b) B、if(a=b) C、if(strcpy(a,b)) D、if(strcmp(a,b)) 2、以下正确的定义语句是() A、int a[1][4]={1,2,3,4,5}; B、float x[3][]={{1},{2},{3}}; C、long b[2][3]={{1},{1,2},{1,2,3}}; D、double y[][3]={0}; 3、以下各组选项中,均能正确定义二维实型数组a的选项是() A、float a[3][4]; float a[ ][4]; float a[3][ ]={{1},{0}}; B、float a(3,4); float a[3][4]; float a[ ][ ]={{0},{0}}; C、float a[3][4]; static float a[ ][4]={{0},{0}}; auto float a[ ][4]={{0},{0},{0}}; D、float a[3][4]; float a[3][ ]; float a[ ][4]; 4、下面程序的运行结果是() 1—5 DDCBA 6—10 BDABB 11—15 CCCBC 16—20 DDCBB 21—25 BBAAA 26—30 DBDDB #include "stdio.h" main() { char str[]="SSSWLIA",c; int k; for(k=2;(c=str[k]!='\0');k++) { switch(c) {case 'I':++k;break; case 'L':continue; default:putchar(c);continue; } putchar('*'); } } A、SSW* B、SW* C、SW*A D、SW 5、下面程序段是输出两个字符串中对应相等的字符。横线处应填入() char x[]="programming"; char y[]="Fortran"; int i=0;

51单片机20个实验-代码详细

第一章单片机系统板说明 一、概述 单片机实验开发系统是一种多功能、高配置、高品质的MCS-51单片机教学与开发设备。适用于大学本科单片机教学、课程设计和毕业设计以及电子设计比赛。 该系统采用模块化设计思想,减小了系统面积,同时增加了可靠性,使得单片机实验开发系统能满足从简单的数字电路实验到复杂的数字系统设计实验,并能一直延伸到综合电子设计等创新性实验项目。该系统采用集成稳压电源供电,使电源系统的稳定性大大提高,同时又具备完备的保护措施。为适应市场上多种单片机器件的应用,该系统采用“单片机板+外围扩展板”结构,通过更换不同外围扩展板,可实验不同的单片机功能,适应了各院校不同的教学需求。 二、单片机板简介 本实验系统因为自带了MCS-51单片机系统,因此没有配置其他单片机板,但可以根据教学需要随时配置。以单片机板为母板,并且有I/O接口引出,可以很方便的完成所有实验。因此构成单片机实验系统。 1、主要技术参数 (1)MSC-51单片机板 板上配有ATMEL公司的STC89C51芯片。 STC89C51资源:32个I/O口;封装DIP40。 STC89C51开发软件:KEIL C51。 2、MSC-51单片机结构 (1)单片机板中央放置一块可插拔的DIP封装的STC89C51芯片。 (2)单片机板左上侧有一个串口,用于下载程序。 (3)单片机板的四周是所有I/O引脚的插孔,旁边标有I/0引脚的脚引。 (4)单片机板与各个模块配合使用时,可形成—个完整的实验系统。 三、母板简介 主要技术参数 (1)实验系统电源 实验系统置了集成稳压电源,使整个电源具有短路保护、过流保护功能,提高了实验的稳定性。 主板的右上角为电源总开关,当把220V交流电源线插入主板后,打开电源开关,主板

实验4 数组答案

实验四数组 实验课程名: 高级语言程序设计4 数组 专业班级:学号:姓名: 实验时间:2016年4月27日实验地点:K4 指导教师: 一、实验目的及要求 1.掌握一维数组与二维数组的定义、赋值与输入输出的方法; 2.掌握字符数组与字符串函数的使用; 3.掌握与数组有关的算法(特别就是排序算法)。 二、实验任务: (一)(1)程序代码:#include #define N 10 void main( ) { int i,a[N]; float av=0; for(i=0;i

(3)结果分析:当i能被3整除时,就换一次行。 (二)实验任务2 (1)程序代码:#include void main( ) { int i,a[5],sum=0; for(i=0;i<=4;i++) scanf("%d",&a[i]); for(i=0;i<=4;i++) sum+=a[i]; printf("sum=%d\n",sum); } (2)程序运行结果: (3)程序分析:使用for循环依次输入5个数,并使5个数相加。 (三)实验任务3 (1)程序代码:#include int main( ) { int i,j,row=0,colum=0,max; int a[3][4] = {{1,2,3,4}, {9,8,7,6}, {-10,10,-5,2}}; max=a[0][0]; for(i=0;i<=2;i++) for (j=0;j<=3;j++) if(a[i][j]>max) {max=a[i][j]; row=i; colum=j; } printf(" Max=%d, Row=%d, Colum=%d\n", max, row, colum); return 0; }

JAVA一维数组二维数组运用的例子

题目:定义一个一维数组存储10个学生名字;定义一个二维数组存储这10个学生的6门课(C程序设计、物理、英语、高数、体育、政治)的成绩; 程序应具有下列功能: (1)按名字查询某位同学成绩 (2)查询某个科目不及格的人数,及学生名单 代码如下: import java.util.*; public class Test{ public static void main(String[]args){ Scanner input=new Scanner(System.in); String[]name={"a","b","c","d","e","f","g","h","i","l"};//存储学生的名字 int[][] grade={{50,60,70,80,90,10},{40,90,80,60,40,70},{60,80,70,60,40,90},{50,60,70,80,90,10}, {60,80,70,60,40,90},{60,70,80,90,70,70},{60,80,70,60,40,90},{60,80,70,60,40,90},{70, 80,90,70,70,70},{60,80,70,60,40,90}};//存储学生各科成绩 System.out.println("输入要查询成绩的学生名字:"); String chioce=input.nextLine(); for(int i=0;i<10;i++) { if(name[i].equals(chioce)) {System.out.println("学生:"+name[i]+"的成绩如下:"); System.out.println("C程序设计:"+grade[i][0]+"物理:"+grade[i][1]+"英 语:"+grade[i][2]+"高数:"+grade[i][3]+"体育:"+grade[i][4]+"政治:"+grade[i][5]+"\n"); break;} } System.out.println("******************************************************");

第六章数组习题答案

第六章数组习题答案 一、单项选择题 1. C语言中,一维数组下标的最小值是(B )。 A)1 B) 0 C) 视说明语句而定D) 无固定下限 2. 若有定义语句:int a[3][6];,按在内存中的存放顺序,a数组的第10个元素是( B )。A)a[0][4] B) a[1][3] C) a[0][3] D) a[1][4] 3. 设有数组定义:char str[ ]=”China0”,则数组str所占的空间为( D )字节。 A)4个B) 5个C) 6个D) 7个 4. 若有定义语句:char str[ ]=”ab\n\012\\\n”; 则执行语句:printf(“%d”,strlen(str));后,输出结果是( A )。 A)3 B) 4 C) 6 D) 12 5. 下列描述中不正确的是( C )。 A)字符型数组中可以存放字符串 B)可以对字符型数组进行整体输入、输出 C)可以对整型数组进行整体输入、输出 D)不能在赋值语句中通过赋值运算符”=”对字符型数组进行整体赋值 6. 当用户要求输入的字符串中含有空格时,应使用的输入函数是( C )。 A)scanf( ) B)getchar( ) C) gets( ) D) getc( ) 7. 有以下程序 #include main( ) { int i,x[3][2]={0}; for(i=0;i<3;i++) scanf(“%d”,x[i]); printf(“%3d%3d%3d\n”,x[0][0], x[0][1], x[1][0]); } 程序运行后的输出结果是()。 A)2 0 0 B) 2 0 4 C) 2 4 0 D) 2 4 6 8. 有以下程序 #include #include main( ) { char p[20]={‘a’,’b’,’c’,’d’},q[ ]=”abc”,r[ ]=”abcde”; strcpy(p+strlen(q),r); strcat(p,q); printf(“%d %d\n”,sizeof(p),strlen(p)); } 程序运行后的输出结果是( C )。 A)20 9 B) 9 9 C) 20 11 D) 11 11 9. 有以下程序 #include #include main( )

图论实验代码

图论实验报告(代码) 学号:1241902129 姓名:肖尧

1.写一个程序,输入一个图,一对顶点和通路长度,输出两个顶点间 指定长度的通路。 程序代码: #include #include #include using namespace std; #define MAX 20 typedef struct ArcNode{ int adjvex; struct ArcNode *nextarc; }ArcNode; typedef struct VNode{ char data; ArcNode *firstarc; }VNode,AdjList[MAX]; typedef struct{ AdjList vertices; int n,e; }MGraph; int path[MAX]; int visited[MAX]; //返回字符v 在图中的位置 int LocateV ex(MGraph G, char v) { int i; for(i=0;i

{ return (i>=0 && i>G.n>>G.e; cout<20) { cout<<"输入的数字不符合要求,请重新输入: "; cin>>G.n>>G.e; } while(G.e>((G.n-1)*G.n/2)) { cout<<"输入的数字不符合要求,请重新输入: "; cin>>G.e; } cout<<"请输入各顶点的名称: "; //建立顶点表 for(i=0;i>G.vertices[i].data; G.vertices[i].firstarc=NULL;//初始化图 } cout<

实验六 一维数组程序设计

实验六一维数组程序设计 一、实验学时 2学时 二、实验目的 (一)掌握一维数组的定义、初始化方法; (二)掌握一维数组中数据的输入和输出方法; (三)掌握与一维数组有关的程序和算法; (四)了解用数组处理大量数据时的优越性。 三、预习要求 (一)理解数组的概念、利用数组存放数据有何特点; (二)一维数组的定义、初始化方法; (三)一维数组中数据的输入和输出方法。 四、实验内容 (一)下面的几个程序都能为数组元素赋值,请输入程序并运行。比较一下这些赋值方法的异同。 1.在定义数组的同时对数组初始化。 /* c6-1.c */ /*在定义数组的同时对数组初始化*/ #include "stdio.h" void main( ) { int a[4]={0,1,2,3}; printf("\n%d %d %d %d\n",a[0],a[1],a[2],a[3]); } 2.不使用循环对单个数组元素赋值。 /* c6-2.c */ /*不使用循环对单个数组元素赋值*/ #include "stdio.h" void main( ) { int a[4]; a[0]=2;a[1]=4;a[2]=6;a[3]=8; printf("\n%d %d %d %d\n",a[0],a[1],a[2],a[3]); } 3.用循环结构,从键盘输入为每个数组元素赋值,输出各数组元素。 /* c6-3.c */ /*利用循环通过键盘对数组元素赋值*/ #include "stdio.h" void main( ) { int i,a[4]; for(i=0; i<4; i++) scanf("%d",&a[i]); printf("\n");

数组及其应用(详细教案)

提问:给一组数排序,这组数该如何存 放呢? 8 2 9 4 5 6 3 7 1 6 这就是本节课要解决的问题。 ?一个班学生的学习成绩 ?一行文字 ?一个矩阵 这些数据的特点是: 1.具有相同的数据类型 2.使用过程中需要保留原始数据 C语言为这些数据,提供了一种型:数组。所谓数组就是一组具有相数据的有序集合。 提出学习要求: 1 一维数组的定义和应用

2 二维数组的定义和应用 3 字符数组的应用 第七章数组 7.1一维数组及应用 7.1.1一维数组的定义方式 在C语言中使用数组必须先定义、后使用,定义数组也就确定了数组的首地址、数组元素的类型和个数(数组长度)。 一维数组的定义方式为: 类型说明符数组名[常量表达式]; 例如: 1) int a[5]; 说明整型数组a,a是数组名,有5个元素。但

是其下标从0开始计算。因此5个元素分别为a[0],a[1],a[2],a[3],a[4]。注意不能使用数组元素a[5]。 float b[10],c[20]; 说明实型数组b,b是数组名,有10个元素,实型数组c,有20个元素。 char ch[20]; 说明字符数组ch,有20个元素。 对于数组类型说明应注意以下几点:2) 数组的类型实际上是指数组元素的取值类型。对于同一个数组,其所有元素的数据类型都是相同的。 3) 数组名的书写规则应符合标识符的书写规定。 4) 数组名不能与其它变量名相同。 例如:

main() { int a; /*a为整型变量*/ float a[10]; /* 数组名a与上面的变量名a相同,错误!*/ …… } 是错误的。 5) 不能在方括号中用变量来表示元素的个数,但是可以是符号常数或常量表达式。 例如: #define FD 5 /* FD是符号常数*/ main() {

实验一代码及截图

实验一基础 实验目的 1、掌握Visual Studio运行环境的配置方法。 2、通过编写简单的页面,掌握网页的编写和运行方法。 实验内容 一、创建文件系统网站; 1. 在D盘新建文件夹03soft,作为网站目录; 2. 在网站的默认的主页上添加控件Button,双击该控件添加如下代码: protected void Button1_Click(object sender, EventArgs e) { ("欢迎光临学习天地!"); } 3. 运行这个页面,写出这个页面运行时的页面地址。 实验截图:

二、创建HTTP网站 1、打开IIS管理器,进入管理页面,添加网站名称mysite,并设置物理路径; 2、创建HTTP网站,并选取mysite作为网站目录; 3、在的默认的主页上添加控件Button,双击该控件添加如下代码: protected void Button1_Click(object sender, EventArgs e) { ("欢迎光临学习天地!"); } 4、运行这个页面,写出这个页面运行时的页面地址。

实验截图: 三、创建单一文件模式网页 1、打开第一题中的文件系统网站,新建一个名为的单一文件模式的网页,并在网页中添加Label控件和Button控件,双击Button控件,添加如下代码: = "Clicked at " + 、运行这个页面,写出单击Button时的运行结果 实验截图:

四、打开第一题中的文件系统网站,在网页的Page_Load事件中编写代码,实现在ListBox1中填充选项,并且单击按钮时不重复加载。 实验截图:

vb课后练习答案习题解答 (5)

第5章数组与记录 5.1 填空题 1.若要定义一个包含10个字符串元素,且下界为1的一维数组s,则数组说明语句为()。 答案:Dim s(1 To 10) As String 2.若要定义一个元素为整型数据的二维数组a,且第一维的下标从0到5,第二维下标从-3到6,则数组说明语句为()。 答案:Dim a(0 To 5,-3 To 6) As Integer 3.如果数组元素的下标值为实数,则VB系统会按()进行处理。 答案:四舍五入原则 4.数组元素个数可以改变的数组称为();数组元素可以存放不同类型数据的数组称为()。 答案:可调数组、可变类型数组 5.数组刷新语句用于()。若被刷新的数组是数值数组,则把所有元素置();若被刷新的数组为字符串数组,则把所有元素置()。 答案:清除指定数组内容、0、空字符串 10.控件数组是由一组类型和()相同的控件组成,共享()。 答案:名字、同一个事件过程 11.控件数组中的每一个控件都有唯一的下标,下标值由()属性指定。 答案:Index 12.建立控件数组有两种方法:()和()。 答案:在设计阶段通过相同Name属性值来建立、在程序代码中使用Load方法 5.2 选择题 1.下列一维数组说明语句错误的是()。 a) Dim b(100) AS Double b) Dim b(-5 To 0) AS Byte c) Dim b(-10 To –20) AS Integer d) Dim b(5 To 5) AS String 答案:c 2.若有数组说明语句为:Dim a(-3 To 8),则数组a包含元素的个数是()。 a) 5 b) 8 c) 11 d) 12 答案:d 3.设有数组说明语句:Dim c(1 To 10),则下面表示数组c的元素选项中()是错误的。 a) c(i-1) b) c(5+0.5) c) c(0) d) c(10) 答案:c 4.下列数组说明语句中正确的是()。 a) Dim a(-1 To 5,8)AS String b) Dim a(n,n)AS Integer c) Dim a(0 To 8,5 To –1)AS Single d) Dim a(10,-10)AS Double

c语言程序设计 一维数组实验

程序填空: 1、将数组a中所有偶数删除,把奇数按原顺序依次存放到a[0]、a[1]、a[2]、……、中。例如:若a数组中的数据最初排列为:9、1、4、 2、 3、6、5、8、7,删除偶数后a数组中的数据为:9、1、3、5、7。 #include main() { int a[9]={9,1,4,2,3,6,5,8,7},i,k=0; for(i=0;i<9;i++) if(__【1】__) a[k++]=a[i]; for(i=k;i<9;i++) a[i]=0; for(i=0;__【2】__;i++) printf("%4d",a[i]); printf("\n"); } 2、将所有大于1小于整数m的非素数存入数组a中。例如,若输入17,则应输出:4 6 8 9 10 12 14 15 16。 #include #define N 100 main() { int a[N],i,j,k=0,m; __【1】__ for(i=2;i #define N 20 main() { int fibonaci[N],i; for(i=0;i

vb中一维二维数组应用

一维数组 排序 一、选择排序法: 数据已经放在一维数组中,要求从小到大排序。 数组 20 4 36 …… 45 109 3 下标 1 2 3 …… n-2 n-1 n 排序过程: 1、从第1项到第n项选择最小值,然后将第1项与最小项交换。 2、从第2项到第n项选择最小值,然后将第2项与最小项交换。 3、…… 4、从第n-1项到第n项选择最小值,然后将第n-1项与最小项交换。注意:最小值及下标由临时变量存储。 所以,需要两层循环:外层循环i执行n-1次,内层循环j执行n-i-1次For i=1 to n-1

最小值及下标由临时变量存储 tmpVal=第i项值 tmpId=第i项下标 For j=i+1 to n 若tmpVal >第j项值,则: tmpVal=第j项值 tmpId=第j项下标 next 将第i项与最小项交换 Next 从大到小呢? 二、冒泡排序法: 数据已经放在一维数组中,要求从小到大排序。 数组 20 4 36 …… 45 109 3 下标 1 2 3 …… n-2 n-1 n

两种方法:小数上浮和大数下沉。 小数上浮排序过程:从第n项到第k项,依次相临两项比较,若第m项小于第m-1项,则两项交换。(k从2到n) 第1次执行:结果是第1项至第n项中的最小值放到第1项中 1、若第n项小于第n-1项,将第n项与第n-1项交换。 2、若第n-1项小于第n-2项,将第n-1项与第n-2项交换。 3、…… 4、若第2项小于第1项,将第2项与第1项交换。 第2次执行:结果是第2项至第n项中的最小值放到第2项中 1、若第n项小于第n-1项,将第n项与第n-1项交换。 2、若第n-1项小于第n-2项,将第n-1项与第n-2项交换。 3、…… 4、若第3项小于第2项,将第3项与第2项交换。 …… 第n-1次执行: 1、若第n项小于第n-1项,将第n项与第n-1项交换。 所以,需要两层循环:外层循环i执行n-1次,内层循环j执行n-i次 For i=1 to n-1 For j=n to i+1 step -1 若第j项值<第j-1项值,则:

【精选资料】VB控件 数组 过程复习题 参考答案2

常用标准控件作业 一、选择题 1.下列关于属性设置的叙述错误的是_______B__。 A.一个控件具有什么属性是Visual Basic预先设计好的,用户不能改变它 B.一个控件具有什么属性值是Visual Basic预先设计好的,用户不能改变它 C.一个控件的属性既可以在属性窗口中设置,也可以用程序代码设置 D.一个控件的属性在属性窗口中设置后,还可以再利用程序代码为其设置新值 2.以下过程是标签Label1的___A______事件。 Prviate Sub Label1_Click( ) End Sub A.单击 B.双击 C.拖拽 D.移动 3.下列控件中可设置滚动条是____C_____。 A.检查框(复选框) B.框架 C.文本框 D.标签框 4.标签所显示的内容,由___C______属性值决定。 A. Text B. Name C. Caption D. Alignment 5.定时器的定时间隔单位是__C_______。 A. 秒 B. 微秒 C. 毫秒 D. 分 6.检查框(复选框)的控件名称为______B___。 A. OptionBotton B. CheckBox C. PictureBox D. Image 7.若要求向文本框输入密码时,只在文本框中显示&号,则应当在此文本框的属性窗口中设置______D___。 A. Text属性值为& B. Caption属性值为& C. PasswordChar属性值为空 D. PasswordChar属性值为& 8.若要设置定时器的定时间隔,可通过__A_______属性来设置。 A. Interval B. Value C. Enabled D. Text 9.若要设置定时器的定时间隔设为5秒,应将Interval属性值设为_D________。 A. 5 B. 50 C. 500 D. 5000 10.若要使不可见命令按钮显示出来,可通过设置_____A____属性的值为True来实现。 A.Visible B.Enabled C.Default D.Value 11.若要使定时器起作用,应将其__D_______属性设置值设为True。 A.Interval B.Value C.Text D.Enabled 12.若要使命令按钮失效,可设置_____B____属性为False来实现。 A.Value B.Enabled C.Visible D.Cancel 13.若要向列表框新增列表项,可使用_____D____方法来实现。 A.Add B.RemoveItem C.Clear D.AddItem 14.要获得垂直滚动条Vscrollbar控件所能表示的最大值,可通过调用该控件的_____B____属性来实现。 A.Value B.Max C.Min https://www.doczj.com/doc/7b1195579.html,rgeChange 15.要将命令按钮上的文字设置为“粗体”可通过设置__B_______属性值为True来实现。 A.FontItalic B.FontBold C.FontUnderline D.FontSize 16.要将命令按钮上的文字设置为“斜体”可通过设置____A_____属性值为True来实现。 A.FontItalic B.FontBold C.FontUnderline D.FontSize 17.要将命令按钮上的字体设为“隶书”,可设置______C___的属性为“隶书”。 A.FontBold B.BackItalic C.FontName D.FontSize 18.以下选项中,不属于单选按钮属性的是____D_____ A.Enabled B.Caption https://www.doczj.com/doc/7b1195579.html, D.Min 19.组合框的风格可通过____C_____属性来设置。 A.BackStyle B.BorderStyle C.Style D.Sorted 20.标签的边框由_____C____属性的设置来决定。 A.BackColor B.BackStyle C.BorderStyle D.AutoSize 21.单选按钮的控件名称为____D_____。 A.Botton B.CheckBox C.PictureBox D.OptionBotton 22.单选按钮的当前状态可通过___A______属性来访问。 A.Value B.Checked C.Selected D.Caption 23.当滚动条中的滑块位置变化时,将触发其___C______事件。 A.LostFocus B.SetFocus C.Change D.GetFocus 24.假定Picture1和Form1分别为图片框和窗体的名称,以下语句___A______可清除图片框中的文本信息。 A.Picture1.cls B.Picture1.clear C.Form1.cls D.Form1.clear 25.确定一个窗体或控件的大小的属性是_____B____。 A.Width或Height B.Width和Height C.Top或Left D.Top和Left

数据结构图及其应用实验报告+代码

附件2: 北京理工大学珠海学院实验报告 ZHUHAI CAMPAUS OF BEIJING INSTITUTE OF TECHNOLOGY 实验题目图及其应用实验时间 2011.5.10 一、实验目的、意义 (1)熟悉图的邻接矩阵(或邻接表)的表示方法; (2)掌握建立图的邻接矩阵(或邻接表)算法; (3)掌握图的基本运算,熟悉对图遍历算法; (4)加深对图的理解,逐步培养解决实际问题的编程能力 二、实验内容及要求 说明1:学生在上机实验时,需要自己设计出所涉及到的函数,同时设计多组输入数据并编写主程序分别调用这些函数,调试程序并对相应的输出作出分析;修改输入数据,预期输出并验证输出的结果,加深对有关算法的理解。 具体要求: (1)建立图的邻接矩阵(或邻接表); (2)对其进行深度优先及广度优先遍历。 三、实验所涉及的知识点 1.创建一个图: CreateUDN(MGraph &G) 2.查找v顶点的第一个邻接点: FirstAdjVex(MGraph G,int v) 3. 查找基于v顶点的w邻接点的下一个邻接点: NextAdjVex(MGraph G,int v,int w) 4.图的矩阵输出: printArcs(MGraph G) 5:顶点定位: LocateVex(MGraph G,char v) 6. 访问顶点v输出: printAdjVex(MGraph G,int v) 7. 深度优先遍历: DFSTraverse(MGraph G,Status (*Visit)(MGraph G,int v)) 8. 广度优先遍历BFSTraverse(MGraph G,Status (*Visit)(MGraph G,int v)) 9. DFS,从第v个顶点出发递归深度优先遍历图G: DFS(MGraph G,int v) 四、实验记录 1.对顶点的定位其数组下标,利用了找到之后用return立即返回,在当图顶点 多的情况下节省了搜索时间,程序如下 //对顶点v定位,返回该顶点在数组的下标索引,若找不到则返回-1 int LocateVex(MGraph G,char v){ for (int i=0;i

实验七 一维数组的应用

实验七一维数组的应用 实验时间:2010年11月19日 【实验目的】 1、掌握一维数组的定义、赋值和输入、输出的方法; 2、能用循环处理数组,用数组存储数据; 3、掌握与数组应用有关的算法(例如求最大值、最小值算法,冒泡法排序算法、选择法排序算法等)。 【实验内容】 1、一维数组的定义、赋值、输入和输出; 2、用循环处理数组,数组元素的引用; 3、数组的应用:求最大值、最小值问题,冒泡法排序,选择法排序。 【实验步骤】 一、在E或F盘上建立以自己的学号命名的文件夹。 二、上机验证题 1、分析以下程序,写出运行结果。 /* 文件名:ex7_1.c */ #include #define N 10 main ( ) { int k; float a[N],av,s; s=0.0; printf("请输入10个数:\n"); for (k=0; kav) printf("%.0f\t",a[k]); } 2、分析以下程序,写出运行结果 /* 文件名:ex7_2.c */ #include main ( ) {

int a[10],i,max,min,maxpos,minpos; printf("请输入10个整数:\n"); for(i=0;i<10;i++) { scanf("%d",&a[i]); } max=min=a[0]; maxpos=minpos=0; for(i=0;i<10;i++) { if(maxa[i]) { min=a[i]; minpos=i+1; } } printf("max=%d,pos=%d\n",max,maxpos); printf("min=%d,pos=%d\n",min,minpos); } 3、分析以下程序,写出运行结果。 /* 文件名:ex7_3.c */ #include main ( ) { char str[20]; int i,num; gets(str); if(str[0]!=' ') { num=1; } else { num=0;

实验(6)-数组-参考答案

C语言程序设计实验教学(6) 【实验目的】数组的应用是很重要的一章。通过实验掌握一维数组的主要应用,并理解数组的存储。对二维数组的处理要比较熟悉。 【实验要求】一维数组的题目要求全面掌握,应用循环结构完成一维数组的输入、处理和输出。二维数组能够完成简单的数据处理和应用。 【实验课时】8.0 【实验内容】 一维数组: 1、定义一个可以存放10个元素的int数组a,输入10个数,并逆序输出。 #include #include void main( ) {int a[10], i; clrscr(); printf("Please input array a :"); for(i=0;i<10;i++) scanf("%d", &a[i]);/* 由键盘逐次输入值赋予数组各元素*/ for(i=9;i>=0;i--) /* 变量i递减控制着数组元素倒序输出*/ printf("%5d", a[i]); } 2、用数组来保存Fibonacci数列前20项数值,以每5个数据为一行进行 输出。 #include #include void main( ) {int i; long f[20]; clrscr(); f[0]=1;f[1]=1; for(i=2;i<20;i++)

f[i]=f[i-1]+f[i-2]; for(i=0;i<20;i++) {if(i%5==0) printf("\n"); printf("%10ld",f[i]); } } 3、统计具有10个元素的自然数数组num中的奇数个数。 #include #include void main( ) {int i,num[10],count=0; clrscr(); for(i=0;i<10;i++) {printf("enter NO %d : ",i+1);/*给予输入提示*/ scanf("%d",&num[i]); if(num[i]%2!=0) count++;} printf("Count is:%d\n",count ); } 4、计算整数数组a中的最大值及其所在的下标。 #include #include void main( ) {int i,max,p,a[10]; clrscr(); printf("please enter 10 data:\n"); for(i=0;i<10;i++) scanf("%d",&a[i]); max=a[0];p=0; for(i=1;i<10;i++)

数字信号处理第三次实验代码及波形图

数字信号处理第三次实验 一、实验目的: 1、掌握离散时间系统的DFT的MATLAB实现; 2、熟悉DTFT和DFT之间的关系。 3、了解信号不同变形的DFT与原信号DFT之间的关系 二、实验内容: 1.开发一个时域圆周移位的matlab函数cirshift.m并测试:设x(n)=[9 8 7 6 5 4 3],求x((n-4))8R8(n)以及x((n+5))8R8(n)。 function y=cirshift(x,m,N) %长度为N的x序列(时域)作m点圆周位移 %------------------------------------- %[y]=cirshift(x,m,N) %y=包含圆周位移的输出序列 %x=长度<=N的输入序列 %m=移位样点数 %N=圆周缓冲器长度 %方法:y(n)=x((n-m)mod N) %check for length of x if length(x)>N error('N必须>=x的长度') end x=[x zeros(1,N-length(x))];%将x补零到长度为N n=[0:1:N-1]; n=mod(n-m,N); y=x(n+1); %主函数.m clc;clear all; x=[9 8 7 6 5 4 3]; y1=cirshift(x,4,8); y2=cirshift(x,-5,8);

2. 开发一个圆周翻转的matlab函数cirflip.m并测试:设x(n)=[9 8 7 6 5 4 3 2 1],求x(n)的16点圆周翻转x((-n))16R16(n)。 function y=cirfilp(x,N) nx=[0:1:N-1]; y=x(mod(-nx,N)+1); %主函数.m clc;clear all; x=[9 8 7 6 5 4 3 2 1]; N=16; x=[x zeros(1,N-length(x))]; nx=0:N-1; y=cirfilp(x,16);

C语言实验__一维数组

实验6 一维数组 实验要求: 使用Visual C++ 6.0开发环境,完成以下习题。 1. (此题可不使用数组)输出1~100之间的不能被7整除的数。(要求使用continue语句,如果其能被7整除则continue)。源程序保存为6-1.c。运行效果截图保存为6-1p.jpg。 2. 对10个数组元素依次赋值为0,1,2,3,4,5,6,7,8,9,要求按逆序输出。源程序保存为6-2.c。运行效果截图保存为6-2p.jpg。 3. 定义一个100个元素的数组,依次赋值为1 ~ 100。先输出其中能被3整除的数。再输出其中能被5整除的数。(注意数组的下标是从0开始。)源程序保存为6-3.c。运行效果截图保存为6-3p.jpg。 4. 让用户输入学生的人数n,然后输入这n个学生的语文成绩,保存在数组中。然后分别计算输出: (1)统计语文成绩平均分。 (2)不及格的学生序号及成绩、并统计不及格人数。 (3)最高分的成绩及最高分的学生的序号。 源程序保存为6-4.c。运行效果截图保存为6-4p.jpg。 5. 定义一个数组A存放6个学生的高数成绩,定义一个数组B存放这6个学生的英语成绩, 再定义一个数组C存放这6个学生的C++成绩。在输入时,要求逐个学生的三门课成绩输入(即先输入第1个学生的三门课成绩,再输入第2个学生的三门课成绩,以此类推)。求这6个同学三科的总分存放在数组D中,并输出。源程序保存为6-5.c。运行效果截图保存为6-5p.jpg。 6. 编程实现:简单版成绩管理系统1。 程序首先显示菜单,让用户选择1则添加一个学生的的记录,选择2则查看一个学生的记录,选择3则修改一个学生的记录,选择4则浏览所有学生记录。每个学生记录由其学号、高数成绩、英语成绩、C++成绩组成。(提示:定义一个100个元素的数组,存放学生的学号;定义一个100个元素的数组存放高数成绩,定义一个100个元素的数组存放英语成绩;定义一个100个元素的数组存放C++成绩;定义一个变量记录当前已经总共添加了多少个学生) 当用户选择1之后,让用户输入要添加的学生的学号、高数成绩、英语成绩、C++成绩。 当用户选择2之后,先让用户输入要查看的学生学号,然后输出其高数、英语、C++成绩。 当用户选择3之后,先让用户输入要修改的学生学号,然后依次让用户重新输入这个学生的高数、英语、C++成绩、 当用户选择4之后,依次输出每个学生的学号、高数、英语、C++成绩。 源程序保存为6-6.c。运行效果截图保存为6-6p.jpg。

一维数组试题

C语言考试试题[一维数组] 姓名:学号:成绩: 一、填空题:(每题1分,共10分) 1、数组是构成的集合。 2、数组元素被顺序连续地存放在内存中,并通过进行访问。 3、数组元素的下标从开始。长度为n的数组中,最后一个元素下标为。 4、一维数组是最简单的数组,其定义形式是:。 5、一个C字符串是以结束的字符序列。 6、专门用于字符串的输入和输出的函数是。 7、float fv[]={0,4,5,12,-7,56.8,0};数组fv的长度是_________。 8、存储字符串“\0”占用________字节的存储单元。 9.有定义int a[]={4,6,78,3456,98,2,89};该数组元素最大的下标为___________。 二、单项选择题,请将答案写在下列答题卡中(每题2分,共24分 )。 1、以下正确的概念是() A、数组名的规定与变量名不相同。 B、数组名后面的常量表达式用一对圆括号括起来。 C、数组下标的数据类型为整型常量或整型表达式。 D、在C语言中,一个数组的数组下标从1开始。 2、对数组初始化正确的方法是: A、int a(5)={1,2,3,4,5}; B、int a[5]={1,2,3,4,5}; C、int a[5]={1…5}; D、int a[5]={0,1,2,3,4,5}; 3、若有以下的数组定义:char x[]=”12345”; char y[]={‘1’,’2’,’3’,’4’,’5’}; 则正确的描述是:() A、x数组和y数组长度相同 B、x数组长度大于y数组长度 C、x数组长度小于y数组长度 D、两个数组中存放相同的内容 4、以下程序运行时,从键盘输入:AhaMA Aha<回车>,则下面程序的 运行结果是() #include main() {char s[80],c=’a’; int m=0; scanf(“%s”,s); while(s[m]!=’\0’) { if(s[m]==c) s[m]=s[m]-32; else if(s[m]==c-32) s[m]=s[m]+32; m++;} puts(s);} A、ahAMa B、AhAMa C、AhAMa ahA D、ahAMa ahA 5、给出以下定义:char x[]=”abcdefg”; char y[]={‘a’,’b’,’c’,’d’,’e’,’f’,’g’};则正确的叙述为:() A 数组A和数组属于空数组 B 数组X和数组Y的长度相同 C 数组X的长度大于数组Y的长度D数组X的长度小于数组Y的长度 6、下面程序的运行结果是() main() {char a[]=”morning”,t;int m,n=0; for(m=1;m<7;m++) if(a[n]

相关主题
文本预览
相关文档 最新文档