实验4-循环与数组

合集下载

labview实验四

labview实验四

虚拟仪器实验报告四专业年级电信081班姓名学号08808030 成绩一、实验目的:LabVIEW编程软件入门学习二、实验内容:实验四字符串、数组、簇和矩阵4.1 字符串(String)4.2 数组(Array)4.3 簇(Cluster)4.4 矩阵(Matrix)三、实验结果:练习1组合字符串使用一些字符串功能函数将一个数值转换成字符串,并把该字符串和其他一些字符串连接起来组成一个新的输出字符串。

打开一个新的前面板,按照下图向其中添加对象练习2 字符串子集和数值的提取创建一个字符串的子集,其中含有某个数值的字符串显示,再将它转换成数值。

练习3 Build Text Express VI练习4 用循环创建数组使用For循环和While循环的自动索引(auto-indexing)功能自动创建数组。

练习5 创建二维数组使用两个嵌套的For循环(即一个循环在另一个循环内)可以创建二维数组。

嵌套的For循环创建二维数组时,外层循环创建行,内层循环创建列。

练习6 多图区图形创建含有多条曲线的图形,方法是创建一个数组,用它汇集传给单图区图形的类型的数据元素。

练习7使用创建数组功能函数使用创建数组函数,把一些元素和输出组织成一个更大的数组。

练习8 多态化练习多态化练习2练习9 簇排序前面板包含两个簇。

第一个簇中,第一个组件是数字控件;第二个簇中,第一个组件是数字指示器。

第一个图中簇控件正确连接到簇指示器。

第二个图中,簇顺序改变,此时连线无效。

练习10簇目的:学习创建簇、分解簇,再捆绑簇并且在另一个簇中显示其内容。

为第3章的习题2连续温度采集监测添加报警信息,如下图所示,当报警发生时输出报警信息,例如“温度超限!当前温度78.23℃”,正常情况下输出空字符串。

四、实验总结:这次实验的主要内容是字符串、数组、簇和矩阵,综合看来本次实验的内容更为晦涩难懂一些,从我的理解,前几次的实验时候的思想主要是一维的,平面的,而这回的实验内容要求我们用立体的,二维的思维去思考。

《程序设计基础—VB程序实验》

《程序设计基础—VB程序实验》

《程序设计基础—VB程序实验》说明:实验1和实验2均为电子实验报告,后面8个实验是纸制实验报告。

实验1 计算机基本操作实验目的⑴熟悉计算机,能够正确进行开、关机操作。

⑵熟悉键盘,掌握键盘上所有字符的输入,掌握正确的指法,能够进行中、英文切换。

⑶理解操作系统概念,掌握Windows XP的基本操作,能够利用“控制面板”进行一些参数的设置。

⑷知道“回收站”的功能,学会有关文件、文件夹的基本操作。

⑸学会在计算机上搜索或查找相关的文件或文件夹,掌握通配符的使用。

实验内容⑴熟悉上机实验的计算机,熟悉键盘,学会中、英文输入方式的转换。

⑵学会用正确的指法进行输入,知道键盘上所有字符的输入。

⑶利用“控制面板”修改系统时间、桌面背景、鼠标属性。

⑷在桌面上新建一个文件夹,该文件夹以学生自己的名字+班级+学号的后3位命名。

⑸用文本方式或Word文档,写一段字数不少于300字的自我介绍,以1.doc命名并保存到上述文件夹中。

⑹将上述文件夹复制到ftp://10.10.9.222上。

实验2 常用软件的基本操作实验目的⑴了解Word功能,掌握Word的基本操作,包括页眉/页脚的设置、分栏、页面设置、添加底纹等。

⑵学会文件的保存与打开、打印预览、段落的间隔、首字符位置改变等,能够在Word中插入图片、表格、艺术字、特殊符号等。

⑶了解Excel的功能,掌握Excel的基本操作,包括单元格属性的设置、数字的几种填充形式、单元格的合并与恢复、边框的设置等。

⑷掌握Excel的基本公式的使用,能够用公式进行基本计算。

掌握Excel中的图形制作方法,能够根据表格做出图形。

实验内容⑴将ftp上自己文件夹中的1.doc文件复制到桌面上,然后做如下处理:①将标题“自我介绍”居中;②将文章中第二段的内容进行分栏,要求中间有分割线;③插入一个4行4列的表格,内容为学号、姓名、某门课的成绩;④任意插入一张图片;⑤在文章中的任意位置加底纹。

将做好的文档以2.doc命名并保存。

《C语言程序设计》实验四

《C语言程序设计》实验四

电子科技大学计算机学院标准实验报告(实验)课程名称C语言程序设计电子科技大学教务处制表电子科技大学实验报告四学生姓名:学号:指导教师:王瑞锦实验地点:实验日期:年月日一、实验室名称:软件实验室二、实验项目名称:函数的应用及预处理三、实验学时:2四、实验原理:使用Turbo C软件(简称TC),在微型计算机上,对其程序进行编辑、编译、连接与运行。

Turbo C是一个集成环境,它具有方便、直观、易用的界面和丰富的库函数。

通过上机练习掌握在TC环境下编辑、编译、连接、和运行C程序的方法和过程。

五、实验目的1.掌握C语言中定义函数的方法;2.掌握函数传值调用的方法;3.掌握函数传址调用的方法;4.掌握递归函数的设计方法;5.掌握命令行参数的使用方法;6.掌握函数在不同文件中的编译、链接方法。

六、实验内容编程实验,完成以下上机内容,调试运行程序并完成报告1)、教材第七章习题7.4;2)、编写一个实现冒泡法排序的函数,并在主函数中从键盘上输入6个数后进行排序输出;3)、教材第七章习题7.11;4)、教材第七章习题7.15;5)、教材第七章习题7.24;6)、求解汉渃塔(tower of Hanoi)问题。

在一块平板上立有3根立柱,从左到右分别标记为A,B,C。

最初在A柱上放有6个大小不等的圆盘,并且大盘在下面,小盘在上面。

要求将这些盘从A移到C(可以借助B柱)。

条件是:每次只能移动一个盘,并且不允许把大盘放在小盘的上面。

(提示:利用函数的递归调用);七、实验器材(设备、元器件):pc硬件要求:CPU PII 以上,64M 内存,1OOM 硬盘空间即可。

软件要求:DOS3.0以上/Windows98/Me/XP/NT/2000。

八、实验步骤:实验编程与运行结果⑴编写一个求两个整数的最小公倍数的函数,两个整数由键盘输入,用主函数调用这个函数,并输出结果。

程序文件名为7_4.c,源程序清单如下:#include<stdio.h>lcd(int a,int b){int temp,num1,num2;num1=a;num2=b;while(num2!=0){temp=num1%num2;num1=num2;num2=temp;}return(a*b/num1);}main(){int t,x,y;printf("Please input two integers:");scanf("%d,%d",&x,&y);if(x>y){t=x;x=y;y=t;}printf("lcd(%d,%d)=%d\n",x,y,lcd(x,y));}运行结果:⑵编写一个实现冒泡法排序的函数,并在主函数中从键盘上输入6个数后进行排序输出。

C语言实验报告参考答案

C语言实验报告参考答案

长沙理工大学2010C语言实验报告参考答案实验一熟悉C语言程序开发环境及数据描述四、程序清单1.编写程序实现在屏幕上显示以下结果:The dress is longThe shoes are bigThe trousers are black答案:#include<stdio.h>main(){printf("The dress is long\n");printf("The shoes are big\n");printf("The trousers are black\n");}2.改错题(将正确程序写在指定位置)正确的程序为:#include <stdio.h>main(){printf("商品名称价格\n");printf("TCL电视机¥7600\n");printf("美的空调¥2000\n");printf("SunRose键盘¥50.5\n");2.编写程序: a=150,b=20,c=45,编写求a/b、a/c(商)和a%b、a%c(余数)的程序。

答案:#include<stdio.h>main(){int a,b,c,x,y;a=150;b=20;c=45;x=a/b;y=a/c;printf("a/b的商=%d\n",x);printf("a/c的商=%d\n",y);x=a%b;y=a%c;printf("a/b的余数=%d\n",x);printf("a/c的余数=%d\n",y);}4. 设变量a的值为0,b的值为-10,编写程序:当a>b时,将b赋给c;当a<=b时,将a 赋给c。

(提示:用条件运算符)答案:#include<stdio.h>main()int a,b,c;a=0;b=-10;c= (a>b) ? b:a;printf("c = %d\n",c);}五、调试和测试结果1.编译、连接无错,运行后屏幕上显示以下结果:The dress is longThe shoes are bigThe trousers are black3、编译、连接无错,运行后屏幕上显示以下结果:a/b的商=7a/c的商=3a/b的余数=10a/c的余数=154. 编译、连接无错,运行后屏幕上显示以下结果:c =-10实验二顺序结构程序设计四、程序清单1.键盘输入与屏幕输出练习问题1 D 。

C语言程序设计教程(第二版)张敏霞 参考答案

C语言程序设计教程(第二版)张敏霞 参考答案

c语言程序设计教程(第2版)课后题及模拟题参考答案习题1 (3)1-1 填空题 (3)1-2 思考题 (3)1-3 编程题 (3)习题2 (4)2-1 单选题 (4)2-2 思考题 (4)习题3 (5)3-1 选择题 (5)3-2 填空题 (5)3-3 编程题 (5)习题4 (7)4-1单选题 (7)4-2填空题 (7)4-3 编程题 (7)习题5 (10)5-1单选题 (10)5-2填空题 (10)5-3 编程题 (10)习题6 (13)6-1单选题 (13)6-2填空题 (13)6-3 编程题 (13)习题7 (15)7-1单选题 (15)7-2填空题 (15)7-3 编程题 (15)习题8 (16)8-1单选题 (16)8-2填空题 (16)8-3 编程题 (16)习题9 (18)9-1单选题 (18)9-2填空题 (18)9-3 编程题 (18)习题10 (22)10-1单选题 (22)10-2填空题 (22)10-3 编程题 (22)习题11 (24)11-1单选题 (24)11-2填空题 (24)习题12 (25)12-1单选题 (25)12-2 填空题 (25)实验篇 (26)实验1 熟悉Visual C++6.0可视化集成开发环境 (26)实验2 顺序结构程序设计 (26)实验3 选择结构程序设计 (26)实验4 循环结构程序设计 (26)实验5 函数 (28)实验6 数组 (32)实验7 指针 (33)实验8 结构体和共用体 (35)实验9 文件 (36)实验10 综合编程 (36)模拟试卷(一)参考答案 (37)模拟试卷(二)参考答案 (38)习题11-1 填空题1.函数2.主函数main(),主函数main()3.主函数main()4.函数首部,函数体5.{, }6./*, */7.顺序结构,选择结构,循环结构8..c, .obj, .exe1-2 思考题1.结构化程序设计是指:为使程序具有一个合理的结构以保证程序正确性而规定的一套如何进行程序设计的原则。

第四节 循环结构

第四节 循环结构

第四节循环结构一、教材分新循环结构是VB程序设计的基本结构之一,在解决规律性的重复工作上,具有自己的优势,是三种基本程序结构中最复杂的一种。

教材在本节的开篇提出了教师阅卷中存在繁重的重复工作,同时对比给出了计算机阅卷过程的描述,让学生初步体会循环结构的执行过程,这时,学生自然想知道,有哪些语句可以实现循环结构呢?接下来,让学生通过四个活动的实践,了解循环结构的含义,掌握循环语句的格式和功能,学会使用循环语句实现对各种循环流程的控制,探究数组是如何在循环结构中得以广泛应用的。

四个活动的处理过程都是采用分析问题、设计算法、实现程序、调试运行四个环节进行设计的,符合标准程序设计的完整过程。

四个活动分别通过对同一个问题从简单到复杂的需求设计循环程序。

使学生由初步到深入熟悉循环结构及其循环语句,学生在亲自设计程序的过程中。

体会循环变量的控制,掌握循环流程图的完善和设计。

最后通过完成体验活动,进一步巩固循环结构的相关知识和技能。

活动一:用for…next语句实现循环结构。

本活动让学生经历小明帮助爸爸编写一个计算每月电脑销售总额的程序的设计过程,掌握如何用for...next语句实现循环结构。

通过算法分析让学生了解循环结构的组成及其含义;通过流程图的绘制让学生理解循环结构的特点;通过程序代码的录入让学生掌握for...next 语句的格式;通过程序的调试运行和监视变量值的变化,让学生掌握循环语句的执行情况。

活动二:在循环结构中数组的应用。

本活动的问题在活动一的基础上,增加了“保存35种电脑的月销售额”。

因为用同一个变量无法实现程序执行过程中多个数据的记录存储功能,所以,编者引入了“数组”这一新的VB数据结构。

数组是复杂程序设计中经常使用的数据结构,让学生通过数组在循环结构程序中的应用,了解数组的含义、功能和使用过程,进一步熟悉循环结构,熟练使用for…next 语句实现循环结构程序。

关于数据结构的相关知识将在教学资源中进行补充介绍。

VB实验报告1-9

VB实验报告1-9

实验一:设计简单的VB 应用程序一、实验目的1.掌握Visual Basic 启动和退出的方法。

2.熟悉Visual Basic 的集成开发环境。

3.掌握Visual Basic 程序设计的基本步骤,了解VB 程序的编写、保存和编译的方法过程。

4.初步了解几个常用基本控件控件(标签、命令按钮和文本框)的使用方法。

二、实验类型综合三、实验时间:2013-3-8四、实验任务1、启动Visual Basic ,然后创建一个“标准 EXE ”工程(保存在D 盘以自己学号命名的文件夹中,文件名和窗体名均为SJT ),并了解Visual Basic 集成开发环境下各组成部分及其作用。

2、编一程序,计算任意输入的正整数的平方根。

3、编写一个应用程序,界面如图1-1所示。

窗体中文字“VB 应用程序!”为一标签控件,单击标题为“放大”的命令按钮,则“VB 应用程序!”的字号放大一号,单击“缩小”按钮则反之;同时,窗体中还有4个含某种指向图案的按钮,若单击某个按钮,则使“VB 应用程序!”向该按钮所指向的方向移动50Twip 。

(提示:四种指向的图案可以在Visual Basic 安装目录中的“…graphics\icon\Arrows ”子目录中找到,名称分别为arw07dn.ico 、arw07lt.ico 、arw07rt.ico 和arw07up.ico )五、实验要求 写出实验报告,内容是:1、第1小题的操作步骤2、第2、3题1).程序的界面设计。

2).程序主要代码。

3).运行结果(输入与输出)。

4).实验总结。

(写上你自己的总结。

可以从以下几个方面来总结:你在编程过程中花时多少?时间是怎么分配的?多少时间在思考问题?遇到了哪些难题?你是怎么克服的?你对你的程序的评价?你的收获有哪些?)图1-1 实验1-2程序运行实验二:数据的输入和输出一、实验目的1.掌握常量和变量、表达式的基本概念和正确书写格式。

2.掌握基本语句(Print语句、赋值语句、Dim语句等)的使用;3、掌握常用函数的正确使用方法;4、掌握数据的动态输入InputBox和信息提示MsgBox的基本使用方法。

实验四 图的遍历算法

实验四   图的遍历算法

实验四图的遍历算法4.1.实验的问题与要求1.如何对给定图的每个顶点各做一次且仅做一次访问?有哪些方法可以实现图的遍历?2.如何用这些算法解决实际问题?3.熟练掌握图的基本存储方法4.熟练掌握图的两种搜索路径的遍历方法5.掌握有关图的操作算法并用高级语言实现4.2.实验的基本思想和基本原理和树的遍历类似,图的遍历也是从某个顶点出发,沿着某条搜索路径对图中每个顶点各做一次且仅做一次访问。

它是许多图的算法的基础。

遍历常用两种方法:深度优先搜索遍历;广度优先搜索遍历4.2.1 深度优先搜索(Depth-First Traversal)深度优先搜索是一种递归的过程,正如算法名称那样,深度优先搜索所遵循的搜索策略是尽可能“深”地搜索图。

在深度优先搜索中,对于最新发现的顶点,如果它还有以此为起点而未探测到的边,就沿此边继续下去。

当结点v的所有边都己被探寻过,搜索将回溯到发现结点v有那条边的始结点。

这一过程一直进行到已发现从源结点可达的所有结点为止。

如果还存在未被发现的结点,则选择其中一个作为源结点并重复以上过程,整个进程反复进行直到所有结点都被发现为止。

1.图的深度优先遍历的递归定义假设给定图G的初态是所有顶点均未曾访问过。

在G中任选一顶点v 为初始出发点(源点),则深度优先遍历可定义如下:首先访问出发点v,并将其标记为已访问过;然后依次从v出发搜索v的每个邻接点w。

若w未曾访问过,则以w为新的出发点继续进行深度优先遍历,直至图中所有和源点v有路径相通的顶点(亦称为从源点可达的顶点)均已被访问为止。

若此时图中仍有未访问的顶点,则另选一个尚未访问的顶点作为新的源点重复上述过程,直至图中所有顶点均已被访问为止。

图的深度优先遍历类似于树的前序遍历。

采用的搜索方法的特点是尽可能先对纵深方向进行搜索。

这种搜索方法称为深度优先搜索(Depth-First Search)。

相应地,用此方法遍历图就很自然地称之为图的深度优先遍历。

arduino学习笔记4–利用数组使6个led闪烁

arduino学习笔记4–利用数组使6个led闪烁

arduino学习笔记4–利用数组使6个led闪烁通过上一节学习,知道了怎样使用循环对6个led进行控制,我们发现LED灯的端口是连续的,是有规律的,若端口号是杂乱无章的,如2、3、6、11能不能使用循环来实现了?一、实验现象用控制板来实现6个端口号没有规律的LED闪烁,展示让无序的LED一个接一个按顺序亮起的方法。

灯会按照顺序先从数组头的亮到数组尾,然后反过来由尾到头。

和从前例子不同的是,本例的LED不是必须连续的。

你可以任意改变LED连接的引脚和顺序。

只要在数组中定义即可。

二、实验器材:控制板、LED6个、电阻6个、面包板和杜邦线。

三、实验所用函数及语句Array 数组1.数组是一种可访问的变量的集合。

2.创建(声明)一个数组类型数组名[ 数组长度 ] ;例如:int a[2];整数数组a的长度为2Int a[2]={3,11};或Int a[ ]={3,11};整数数组a的长度为2,其值分别为3和113.访问数组①.数组从0位开始索引(最大索引数等于声明数组大小-1)。

②.从数组中访问一个值: x = myarray1 [ 4 ];③数组和循环:数组往往在for循环中进行操作,循环计数器可用于访问每个数组元素。

for (int i=0; i<5 ;i++) {pinMode(a[i],OUTPUT );}四、实验电路五、编写程序int timer = 100; // 数字越大间隔时间越长,整个程序都能用,叫全局变量int led[] = {2, 7, 4, 6, 5, 3}; // LED引脚编号数组int js = 6; // 引脚个数(应和LED引脚编号数组相同)void setup() {for (int i = 0; i < js; i++) {//用for循环初始化引脚:pinMode(led[i], OUTPUT); // 数组元素取出时应该是从0开始到js - 1结束。

阵列处理实验报告

阵列处理实验报告

一、实验名称阵列处理实验二、实验目的1. 理解阵列处理的基本概念和原理。

2. 掌握使用数组进行数据存储和操作的方法。

3. 学习通过编程实现简单的阵列处理算法。

4. 提高编程能力和问题解决能力。

三、实验原理阵列处理是计算机科学和工程领域中的一个重要概念,它涉及到对一组数据(即数组)进行高效的存储、检索和操作。

在计算机中,数组是一种数据结构,它允许存储多个具有相同数据类型的元素,并通过索引来访问这些元素。

本实验通过编程实现对数组的创建、初始化、遍历、排序、搜索等基本操作,从而加深对阵列处理的理解。

四、实验设备1. 计算机一台2. 编程软件(如Visual Studio、Eclipse等)3. 实验指导书五、实验内容1. 创建和初始化数组2. 遍历数组3. 数组排序4. 数组搜索5. 阵列处理应用实例六、实验步骤1. 创建和初始化数组- 创建一个整数类型的数组,并初始化为随机值。

- 创建一个字符类型的数组,并初始化为字符串。

2. 遍历数组- 使用循环结构遍历数组,打印出每个元素。

3. 数组排序- 实现一个简单的冒泡排序算法,对整数数组进行排序。

- 使用内置的排序函数对字符数组进行排序。

4. 数组搜索- 实现二分搜索算法,在已排序的整数数组中查找特定元素。

- 使用线性搜索在字符数组中查找特定字符。

5. 阵列处理应用实例- 编写一个程序,实现将一个二维数组转换为矩阵转置的功能。

七、实验结果与分析1. 创建和初始化数组- 成功创建并初始化了整数和字符数组。

2. 遍历数组- 成功遍历并打印了数组的所有元素。

3. 数组排序- 成功使用冒泡排序算法对整数数组进行了排序。

- 成功使用内置排序函数对字符数组进行了排序。

4. 数组搜索- 成功实现了二分搜索算法,找到了整数数组中的特定元素。

- 成功实现了线性搜索,找到了字符数组中的特定字符。

5. 阵列处理应用实例- 成功编写了程序,实现了二维数组到矩阵转置的功能。

八、实验总结通过本次实验,我对阵列处理有了更深入的理解。

编译原理实验4 算符优先语法分析- 解析

编译原理实验4  算符优先语法分析- 解析

步骤3:构造算符优先分析表
优先关系:
设G是一个不含 产生式的算符文法,令 a、b是任意两个VT , P、Q、R ∈ VN ,则:
(1) ab 当且仅当文法G中含有形如P …ab…或P …aQb…的产生式 (2) a<b 当且仅当G中含有形如P …aR…的产生式,R而Rb… 或R Qb… (3) a>b 当且仅当G中含有形如P …Rb…的产生式,R而R…a 或R …aQ
<
i
i )#
#N*(N+ i >
)
)#
#N*(N+N >
)
)#
*i ⋖⋖ ⋗⋖ ⋗ ⋖⋖ ⋗ ⋖⋖
动作
移进
归约
移进
移进
移进
归约
移进
移进
归约
归约
()
#
⋖⋗ ⋗
⋖⋗ ⋗
⋗⋗

⋗⋗

最左素短语
i
i
i N+N
分析过程
示例:描述句子i*( i+i )的 分析过程。

关系 当前符
+ +⋗ *⋗ i⋗ (⋖ )⋗ #⋖
如何识别最左素短语?
• 素短语
– 是指这样一种短语,它至少包含一个终结符,并且除 自身之外,不再包含其它更小的素短语。
• 最左素短语
– 句型最左边的那个素短语。
如何识别最左素短语?
定理:
一个OPG文法G的任何句型: #N1a1N2a2…NnanNn+1# (其中Ni可空) 的最左素短语Nj aj … Ni ai Ni+1 是满足如下三个条件的最 左子串: (1)aj-1 ⋖ aj (2)aj =·aj+1 =·… =·ai-1 =·ai (3)ai ⋗ ai+1

C语言程序设计实验实验指导书及答案

C语言程序设计实验实验指导书及答案

实验一熟悉C程序运行环境班级学号姓名成绩一、实验目的1. 熟悉C语言Visual C++调试环境;2. 掌握C程序的编辑、调试及运行;二、实验内容项目1. 调试并运行下面程序,并写出运行结果:include <>int main{printf“Good morning\n”;printf“Hello,world\n”;return 0;}运行结果注意,按照屏幕输出格式写:项目2. 调试并运行下面程序,并写出运行结果:include <>int main{int a , b , sum; /定义变量/a=23; b=56; /为变量赋值/sum=a+b; /计算两个变量的和/printf“sum is %d\n”,sum; /输出计算结果/return 0;}运行结果:项目3. 调试并运行下面程序,并写出运行结果:include <>int maxint,int;int main{int a , b , c; /定义变量/a=23; b=56; /为变量赋值/c=maxa,b; /调用max函数,将得到的值赋给c/ printf“max is %d\n”,c; /输出c的值/return 0;}int maxint x,int y /定义max函数,函数值为整型/ {int z; /定义变量/ifx>yz=x;elsez=y;returnz; /将z的值返回/}运行结果:三、提高部分1.试想,如果求10个数中的最大者,则程序该如何编写;程序代码运行结果:实验二数据及其运算班级学号姓名成绩一、实验目的1. 掌握C数据类型的概念、熟悉整型、字符型和实型基本类型的常量的用法;学会三种基本类型变量的定义、赋值和使用方法;2. 掌握算术表达式、关系表达式及逻辑表达式的特点及用法;3. 熟悉运算符的优先级和结合性的概念;4. 学习简单程序的编写方法;二、实验内容项目1. 编辑运行下面程序,并分析运行结果;include<>int main{int m,a,b,c,d,e; /定义整型变量/printf“please input a data:m=”;scanf“%d”,&m;/从键盘输入一个整数/a=m+1;b=m-2;c=m3;d=m/4;e=m%5;printf“a=m+1;a=%d\n”,a;printf“b=m-2;b=%d\n”,b;printf“c=m3;c=%d\n”,c;printf“d=m/4;d=%d\n”,d;printf“e=m%%5;e=%d\n”,e;return 0;}运行结果:项目2. 编辑运行下面程序,并分析运行结果;include<>int main{float m,n,s;printf“m=”;scanf“%f”,&m;/输入矩形的边长/printf“n=”;scanf“%f”,&n;/输入矩形的边长/s=mn; /计算矩形的面积/printfs=%f\n”,s;/输出矩形的面积/return 0;}1输入24和5,运行结果:2输入-24和5,运行结果:分析结果是否正确3对上面程序进行修改,当输入一个非法的边长负数或零,会给出提示而不计算矩形的面积;输入-24和5,运行结果:项目3. 先阅读程序,并写出结果,再运行程序并分析结果;include<>int main{int i,j,m,n,p,q,x,y;i=8;j=10;p=0;q=0;x=1;y=1;m=++i;选做根据矩形面积的计算方法,编写一个输入圆半径r,计算园周长L和圆面积S的程序;注意判断圆半径r是否大于零;程序代码和运行结果可写在指导书背面实验三程序控制结构选择班级学号姓名成绩项目1.三角形成立条件判断及面积计算项目任务输入三个整型数据,判断这三个整型数据能否围成三角形,如果能组成三角形,计算并输出它的面积,如果不能围成三角形输出“三条边不能围成三角形”;项目说明C语言实现选择结构筑要用if语句,按照判断所给定的条件是否满足,根据判定结果的真或假来决定执行在if语句中给出的两种操作之一;项目目的1正确使用关系表达式和逻辑表达式表达条件;2学习分支语句if的使用方法;3进一步熟悉VC集成环境的使用方法,学习VC环境提供的调试工具;项目要点1已知三边求三角形面积的公式:p=a+b+c/2 s= sqrtpp-a p-b p-c2已知三边能围成三角形的条件是:任意两边之和大于第三边;3C语言中求平方根的函数是sqrtdouble x,该函数在头文件中;4if语句中“表达式”必须用“”和“”括起来,它的值为逻辑值;除常见的关系表达式或逻辑表达式外,也允许是其他类型的数据,如整型、实型、字符型等;5else子句可选是if语句的一部分,必须与if配对使用,不能单独使用;程序代码:运行结果:项目2. 百分制成绩转换为成绩等级项目任务输入一个百分制成绩,输出对应的等级;项目目的1正确使用关系表达式和逻辑表达式表达条件;2学习多switch分支选择语句的使用方法;项目要点解决本项目的关键是如何将输入的百分制成绩与case 常量联系起来,不难想到将百分制成绩用score 表示除以10之后再取整,一定得到0到10之间的数;9、10对应’a ’,8对应‘b ‘,……,5、4、3、2、1、0对应’e ’既不及格; 程序代码:运行结果:项目3.选做⎝⎛<--=>+=0100012x x x x x y ;程序代码和运行结果可写在指导书背面实验四程序控制结构循环班级学号姓名成绩项目1:使用循环结构实现重复处理项目说明从键盘输入一个班的成绩,把百分制转换成等级制;将百分制成绩用score表示除以10之后再取整,一定得到0到10之间的数;9、10对应’a’,8对应‘b‘,……,5、4、3、2、1、0对应’e’既不及格;要求分别使用三种循环结构实现;该项目中,假设班级人数不固定,规定输入若干0至100的成绩,如果成绩不在此范围,则表示结束;该项目中,同时要使用switch语句实现多分支选择结构;项目目的1掌握用while语句和do…while语句实现循环的方法;2掌握用for语句实现循环的方法;3掌握三种语句的特点和应用技巧;4掌握用break语句和continue语句改变循环状态的方法;项目内容1、用while语句实现的程序代码:2、用do…while和break语句实现的程序代码:3、用do…while和continue语句实现的程序代码:4、用for语句实现的程序代码:项目2.选做求101!nn =∑即求1!2!3!10!++++程序代码和运行结果可写在指导书背面实验五数组班级学号姓名成绩项目1.冒泡排序法项目说明输入10个数,用“冒泡法”对10个数排序由小到大;冒泡法的基本思想:通过相邻两个数之间的比较和交换,使数值较小的数逐渐从底部移向顶部,较大的数逐渐从顶部移向底部;就像水底的气泡一样逐渐向上冒,故而得名;项目目的1掌握冒泡排序算法的编程;2掌握与数组有关的算法;程序代码:运行结果:项目2.字符统计项目说明有一篇文章,共有3行文字,每行80个字符;要求分别统计出其中英文字母和数字的个数;项目目的1掌握键盘输入字符串方法;2掌握二维数组的处理方法;技术要点13行文字可定义一个二维字符数组来表示;2使用gets 函数对字符串进行输入;程序代码:include <>int main{int i,j,upp,low,dig,spa,oth;char text380;upp=low=dig=spa=oth=0;for i=0;i<3;i++{ printf"please input line %d:\n",i+1;getstexti;for j=0;j<80 && textij='\0';j++{if textij>='A'&& textij<='Z'upp++;else if textij>='a' && textij<='z'low++;else if textij>='0' && textij<='9'dig++;else if textij==' 'spa++;elseoth++;}}printf"\nupper case: %d\n",upp;printf"lower case: %d\n",low;printf"digit : %d\n",dig;printf"space : %d\n",spa;printf"other : %d\n",oth;return 0;}运行结果:项目3.选做在二维数组中,若某一位置上的元素在该行中最大,而在该列中最小,则该元素即为该二维数组的一个鞍点;要求从键盘上输入一个二维数组,当鞍点存在时,把鞍点找出来; 程序代码和运行结果可写在指导书背面实验六函数班级学号姓名成绩项目1:使用函数实现对二维数组转置;项目说明写一个函数,使给定的33的二维整型数组转置,即行列互换;要求输出转换之前和转换之后的结果; 项目目的1掌握函数的定义和调用;2掌握二维数组名作为函数的参数的使用技巧;技术要点1使用二重循环对二维数组进行输入,处理和输出;2二维数组名作为函数的参数,定义函数需要给出第二维的大小;程序代码:运行结果:项目2:使用函数实现成绩处理项目说明输入3个学生4门课的成绩,分别用函数实现以下功能:1计算每个学生的平均分;2计算每门课的平均分;3找出12个分数中最高分数所对应的学生和课程;项目目的1掌握函数的定义和调用;2掌握全局变量的使用;技术要点学生成绩可定义成全局的二维数组,这样自定义函数可以直接使用,而不需要进行参数的传递; 程序代码:运行结果:项目3.选做求101!nn =∑即求1!2!3!10!++++阶乘要求使用递归函数来实现,程序代码和运行结果可写在指导书背面实验七指针班级学号姓名成绩项目1.使用指针参数交换两个变量值项目说明用函数实现两个变量值的交换,使其在主调函数和被调函数中的值一致,并且返回这两个变量的和以及乘积;要求用指针变量作为函数参数;项目目的1熟悉如何定义指针变量,掌握将指针变量作为函数参数的方法;2掌握通过指针参数由被调函数向主调函数传递多个值的方法;技术要点由于变量的值始终存放在内存单元中,因此,要交换两个变量的值,只需交换这两个变量对应的存储单元的值即可,这就需要知道两个变量的地址;也就是说,需要保证主调函数与被调函数中所要交换的两个数的内存单元是同一内存单元,即传递的参数是内存单元的地址,而不是内存单元中的值;程序代码:运行结果:项目2. 数组的排序和的插入项目目的1熟悉如何定义指针变量,掌握将指针变量指向一维数组元素的方法;2掌握如何对数组进行排序;3掌握如何在一个有序的数列中查找合适的位置;4掌握如何将一个数插入到一个有序数列中;技术要点1排序可采用冒泡法或者选择法;2有序数组中插入一个数的关键是找到该数据插入的位置,然后将插入位置及其后的所有元素均后移一位,在空出的位置放入待插入的数据;例如,在13、27、38、49、65、76、97 这列有序数据中插入53 这个数,成为新的有序数列13、27、38、49、53、65、76、97;4定义数组时多开辟一个存储单元,用于存放待插入的数据;程序代码:运行结果:项目3.选做程序代码和运行结果可写在指导书背面编写函数 int findint p,int n,int x,在指针 p 所指的数组中查找整型数 x,如果 x 在数组中,则该函数返回 1,否则返回 0;n 为数组的大小;编写主函数测试之;。

c语言程序设计实验报告怎么写

c语言程序设计实验报告怎么写

c语言程序设计实验报告怎么写C语言程序设计实验报告一、实验目的二、实验环境三、实验内容1. 实验一:C语言基础练习2. 实验二:流程控制语句练习3. 实验三:函数练习4. 实验四:数组和指针练习四、实验过程及结果分析1. 实验一过程及结果分析a. 编写程序代码的步骤及思路b. 程序运行结果及分析2. 实验二过程及结果分析a. 编写程序代码的步骤及思路b. 程序运行结果及分析3. 实验三过程及结果分析a. 编写程序代码的步骤及思路b. 程序运行结果及分析4. 实验四过程及结果分析a. 编写程序代码的步骤及思路b. 程序运行结果及分析五、总结与体会一、实验目的本次实验旨在通过对C语言基础知识的学习,掌握C语言编程技能,提高编程能力。

同时,通过对不同类型题目的练习,培养学生解决问题和思考问题的能力。

二、实验环境本次实验使用的是Visual Studio 2019开发环境,操作系统为Windows 10。

三、实验内容本次实验共分为四个部分,分别是C语言基础练习、流程控制语句练习、函数练习和数组和指针练习。

具体内容如下:1. 实验一:C语言基础练习a. 编写一个程序,输入两个整数,输出它们的和、差、积和商。

b. 编写一个程序,输入一个三位数的整数,将其百位数与个位数交换后输出。

c. 编写一个程序,输入六个整数,按照从小到大的顺序输出。

2. 实验二:流程控制语句练习a. 编写一个程序,输入两个整数a和b,如果a>b则交换它们的值,并输出结果。

b. 编写一个程序,输入三个整数a、b和c,求出其中最大值并输出。

c. 编写一个程序,输入一个字符c,如果它是大写字母,则将其转换成小写字母并输出;如果它是小写字母,则将其转换成大写字母并输出;否则不做处理。

3. 实验三:函数练习a. 编写函数sum(n),计算1到n之间所有整数的和,n由用户输入。

b. 编写函数isprime(n),判断一个整数n是否为素数,n由用户输入。

c语言实验教案

c语言实验教案
一个负整数赋给一个无符号的变量,会得什么结果。画出它们在内存中表示形式。
将一个大于 32767 的长整数赋给整型变量,会得到什么结果。画出它们在内存中的表示 形式。
将一个长整数赋给无符号变量,会得到什么结果。画出它们在内存中的表示形式。
学生可以改变程序中各变量的值,经便比较。例如:a=65880,b= -40000,e=65535, f=65580。 5、输入习题 3.10
周次
3 4
日期
3.2-3.6
实验进度安排表
实验课题
学时
实验一 数据类型、运算符和表达式
2
实验报告次数
3.9-3.13 实验一 数据类型、运算符和表达式
2
1
5
3.16-3.20 实验二 顺序结构程序设计
2
6
3.23-3.27 实验二 顺序结构程序设计
2
1ห้องสมุดไป่ตู้
7
3.30-4.3 实验三 选择结构程序设计
2
8
2. 掌握 C 语言数据类型,熟悉如何定义一个整型,字型和实型的变量,以及对它们赋值 的方法。
3. 掌握不同的类型数据之间赋值的规律。 4. 学会使用 C 的有关算术运算符,以及包含这些运算符的表达式,特别是自加(++)
和自减(--)运算符的使用。 5. 进一步熟悉 C 程序逻辑的编辑、编译、连接和运行的过程。 二、实验学时
实验四 循环与数组
一、实验目的及要求 1. 熟悉掌握用语句,语句和语句实现循环的方法。 2. 掌握在程序设计中用循环的方法实现一些常用算法(如穷举、迭代、递推等)。 3. 掌握一维数组和二维数组的定义、赋值和输入输出的方法; 4. 掌握字符数组和字符串函数的使用; 5. 掌握与数组有关的算法(特别是排序算法)。 二、实验学时

2014《C语言实验指导书》

2014《C语言实验指导书》

《C语言》实验指导书编(全校理工类本科用)2014年2月目录实验一简单C语言程序设计 (1)实验二顺序结构程序设计 (3)实验三选择结构程序设计 (5)实验四循环结构程序设计 (7)实验五数组程序设计 (10)实验六函数程序设计 (13)实验七指针程序设计 (16)实验八结构体程序设计 (17)附录1 C语言上机步骤 (18)实验一简单C语言程序设计实验类型:验证性实验课时: 4 指导教师:时间:2014 年月日课次:第节教学周次:第周实验分室:实验台号:实验员:一、实验目的1.掌握所用的C语言环境的基本操作方法。

2.掌握编辑、编译、连接和运行C程序。

3.掌握C程序的数据类型、运算符,表达式。

二、实验内容和要求1.打开C语言环境,编辑如下程序,写出运行结果。

#include <stdio.h>void main(){printf(“Hello World!\n”);}2. 在屏幕上显示下列图形:* * * ** * ** **3.完成习题集中习题一的内容4. 已知三角形的三边长为3,4,5,求三角形周长5 .完成习题集中习题二内容实验二顺序结构程序设计实验类型:验证性实验课时: 2 指导教师:时间:2014 年月日课次:第节教学周次:第周实验分室:实验台号:实验员:一、实验目的1.掌握基本输入输出函数、库函数的使用。

2.能够编程实现简单的结构化程序。

二、实验内容和要求1.执行程序,写出运行结果。

#include <stdio.h>void main(){float a = 9.1234567891234567890;double b = 9.1234567891234567890;printf("%f, %lf\n",a,b);printf("%.15f,%.15\n",a,b);};2.运行程序,写出结果。

#include <stdio.h>void main(){float x1;double y1 ;scanf("%f %lf ",&x1,&y1) ;printf("x1=%f,y1=%lf ",x1,y1) ;}程序运行时输入x的值123456789,输入y的值123456789。

实验报告_数组的应用

实验报告_数组的应用

一、实验目的1. 理解数组的定义和特点。

2. 掌握数组的创建、初始化和赋值方法。

3. 熟悉数组的基本操作,如遍历、排序、查找等。

4. 了解数组在实际编程中的应用。

二、实验环境1. 操作系统:Windows 102. 编程语言:C/C++3. 开发环境:Visual Studio 2019三、实验内容1. 数组的定义和特点数组是一种有序的数据集合,用于存储具有相同数据类型的元素。

数组具有以下特点:(1)数组中所有元素具有相同的数据类型;(2)数组中的元素按照一定顺序排列;(3)数组的大小在创建时确定,一旦创建,大小不能改变;(4)数组可以通过下标访问其中的元素。

2. 数组的创建、初始化和赋值(1)创建数组在C/C++中,可以通过以下方式创建数组:int arr[10]; // 创建一个整型数组,包含10个元素int arr2[3][4]; // 创建一个二维整型数组,包含3行4列的元素(2)初始化数组在创建数组时,可以同时初始化数组元素:int arr[5] = {1, 2, 3, 4, 5}; // 初始化整型数组arr (3)赋值数组在创建数组后,可以对数组元素进行赋值:int arr[5];arr[0] = 1;arr[1] = 2;arr[2] = 3;arr[3] = 4;arr[4] = 5;3. 数组的基本操作(1)遍历数组可以通过循环结构遍历数组元素:for (int i = 0; i < 5; i++) {printf("%d ", arr[i]);}(2)排序数组可以使用冒泡排序算法对数组进行排序:void bubbleSort(int arr[], int n) {for (int i = 0; i < n - 1; i++) {for (int j = 0; j < n - i - 1; j++) {if (arr[j] > arr[j + 1]) {int temp = arr[j];arr[j] = arr[j + 1];arr[j + 1] = temp;}}}}(3)查找数组元素可以使用线性查找算法查找数组元素:int linearSearch(int arr[], int n, int x) {for (int i = 0; i < n; i++) {if (arr[i] == x) {return i;}}return -1;}4. 数组在实际编程中的应用(1)实现冒泡排序算法在C/C++中,可以使用数组实现冒泡排序算法,如上述代码所示。

实验4类与对象基础实验(二)

实验4类与对象基础实验(二)

一、实验目地.掌握类与类.掌握数组对象地使用.掌握基本数据类型地包装类地使用二、实验内容. 编程实现:解析身份证号码地生日.. 编程实现:字符串比较和转换.. 编程实现:解析身份证号码地地区.. 编程实现:数组操作.三、实验步骤. 编程实现:解析身份证号码地生日.要求从键盘输入身份者号码字符串,将其中生日信息提取,并屏幕显示.(身份证号码验证,只需要验证身份证号码为位).文档收集自网络,仅用于个人学习运行效果如下:请输入你地身份证号码:身份证号码错误,请重新输入!身份证号码错误,请重新输入!您地生日是:. 编程实现:字符串比较和转换.编写一个应用程序,判断两个字符串是否相同,判断字符串地前缀、后缀是否和某个字符串相同,按照字典顺序比较两个字符串地大小关系,检索字符串,创建子字符串,将数字型字符串转换为数字,将字符串存放到数组中,用字符数组创建字符串.文档收集自网络,仅用于个人学习{( []){ (" ");(" ");(【代码】) 使用方法判断与是否相同{("与相同");}{("与不相同");}("");(【代码】) 判断地前缀是否是"".{("吉林省地身份证");}("你"),("我");(【代码】)按着字典序大于地表达式.{("按字典序大于");}{("按字典序小于");};":\\\\\\";【代码】; 获取中最后出现目录分隔符号地位置(":\\\\\\中最后出现\\地位置:"); 文档收集自网络,仅用于个人学习【代码】获取中""子字符串.(":\\\\\\中含有地文件名:"); 文档收集自网络,仅用于个人学习(""),("");【代码】; 将转化成型数据.【代码】; 将转化成型数据.;();【代码】; 调用( )方法将转化为字符串对象文档收集自网络,仅用于个人学习(".");();("数字""有"()"位小数") ; 文档收集自网络,仅用于个人学习("");[] 【代码】; 将存放到数组中.【代码】采用循环,输出数组地各个字符.}}. 编程实现:解析身份证号码地地区.要求从键盘输入若干个(少于)省份证号码字符串,按地区不同分组显示身份证.提示:用数组管理这些身份证字符串.文档收集自网络,仅用于个人学习运行效果如下:请输入若干个身份证号码,以结束:输入结束!.编程实现:数组操作.输入若干个整数,存入数组,进行升序排序,然后输入一个整数,在数组中查找该数,如果找到,就把从该数位置开始地数组中后面地所有数复制到另外一个数组并输出.文档收集自网络,仅用于个人学习运行效果如下:请输入数组元素个数:请输入个整数:输出排序后地数组:请输入要查找地整数:输出复制后地另外一个数组:。

《算法设计与分析》课程实验报告 (分治法(三))

《算法设计与分析》课程实验报告 (分治法(三))

《算法设计与分析》课程实验报告实验序号:04实验项目名称:实验4 分治法(三)一、实验题目1.邮局选址问题问题描述:在一个按照东西和南北方向划分成规整街区的城市里,n个居民点散乱地分布在不同的街区中。

用x 坐标表示东西向,用y坐标表示南北向。

各居民点的位置可以由坐标(x,y)表示。

街区中任意2 点(x1,y1)和(x2,y2)之间的距离可以用数值∣x1−x2∣+∣y1−y2∣度量。

居民们希望在城市中选择建立邮局的最佳位置,使n个居民点到邮局的距离总和最小。

编程任务:给定n 个居民点的位置,编程计算邮局的最佳位置。

2.最大子数组问题问题描述:对给定数组A,寻找A的和最大的非空连续子数组。

3.寻找近似中值问题描述:设A是n个数的序列,如果A中的元素x满足以下条件:小于x的数的个数≥n/4,且大于x的数的个数≥n/4 ,则称x为A的近似中值。

设计算法求出A的一个近似中值。

如果A中不存在近似中值,输出false,否则输出找到的一个近似中值4.循环赛日程表问题描述:设有n=2^k个运动员要进行网球循环赛。

现要设计一个满足以下要求的比赛日程表:每个选手必须与其他n-1个选手各赛一次,每个选手一天只能赛一次,循环赛一共进行n-1天。

二、实验目的(1)进一步理解分治法解决问题的思想及步骤(2)体会分治法解决问题时递归及迭代两种不同程序实现的应用情况之差异(3)熟练掌握分治法的自底向上填表实现(4)将分治法灵活于具体实际问题的解决过程中,重点体会大问题如何分解为子问题及每一个大问题涉及哪些子问题及子问题的表示。

三、实验要求(1)写清算法的设计思想。

(2)用递归或者迭代方法实现你的算法,并分析两种实现的优缺点。

(3)根据你的数据结构设计测试数据,并记录实验结果。

(4)请给出你所设计算法的时间复杂度的分析,如果是递归算法,请写清楚算法执行时间的递推式。

四、实验过程(算法设计思想、源码)1.邮局选址问题(1)算法设计思想根据题目要求,街区中任意2 点(x1,y1)和(x2,y2)之间的距离可以用数值∣x1−x2∣+∣y1−y2∣度量。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

VB程序设计实验四
实验目的
●掌握循环嵌套
●掌握一维数组和二维数组的操作
实验内容
一、单选题(答案填写在“”实验4答题卡.xlsx文件中)
1.数组具有相同的_____________。

A.下标
B.类型
C.数值
D.存放地址
2.重定义数组大小的语句是______________。

A.Dim语句
B.ReDim语句
C.Static语句
D.Public语句
3.使用Dim A(100) As Integer 语句声明了数组A,其下标的取值范围为____________。

A.0~100
B.1~100
C.0~99
D.1~99
4.若使用Dim A(100) As Integer 语句声明了数组A,下列引用错误的是___________。

A.A(0)=2
B.A(1)= -28
C.A(56)= A(-56)
D.A(100)=A(0)+A(55)
5.如果要对已经声明的数组重新定义大小,并保留原有数据,可使用语句___________。

A.Dim
B.ReDim
C.Dim Preserve
D.ReDim Preserve
6.对于Integer 类型的数组,如果没有赋值,则所有元素的值为____________。

A.空
B.0
C.1
D.最大数
7.执行重定义数组大小语句ReDim A(UBound(B))后,A数组的上界为______________。

A.B数组的上界
B.B数组的上界+1
C.B数组的上界- 1
D.不确定
8.下列数组声明语句中正确的是______________。

A.Dim A(9) As Single ={1,2,3,4,5,6,7,8,9,10}
B.Dim A() As Single ={1,2,3,4,5,6,7,8,9,10}
C.DimA() As Single ={1,”abc”,”ccc”,4,5,6,7,8,9,10}
D.Dim A( , ) As Single ={1,2,3,4,5,6,7,8,9,10}
9.若有声明Dim a(2 ,3) as Integer,则数组a共有元素个。

A.12 B.30 C.16 D.4
10.下列程序的输出结果是______________。

Dim A() As Integer ={1,2,3,4,5,6,7}
For i=0 to UBound(A)
A(i)= A(i)* A(i)
Next i
MsgBox (A(i))
A.49
B.0
C.不确定
D.程序出错
11.关于数组的声明,正确的是__________。

A.Dim a(5) As Integer = {1,2,3,4,5,6}
B.Dim a(1,6) As Integer = {1,2,3,4,5,6}
C.Dim a( ) As Integer = {1,2,3,4,5,6}
D.Dim a(1 to 6) As Integer = {1,2,3,4,5,6}
12.若有语句A=Array(1,2,3,4,5,6,7,8),则A(5)的值是__
A. 4
B.5
C.6
D.7
二.调试改错题
(1)程序自动产生10个10~99 之间的随机正整数,在lable1显示大的数,lable2显示小的数。

找出能被2、3、5整除的数,结果显示在Label3,如图4- 1所示。

程序中有3个错误,请调试改正。

保存项目为shiyan4-1。

图4- 1产生随机整数
PrivateSub Button1_Click(……) Handles Button1.Click
Dim a%(9), max%, i%, min%
Randomize()
For i = 0 To 9
a(i) = Int(Rnd() * 99 + 10)
if i=0 then min=a(i): max=a(i)
If a(i) < min Then
min = a(i)
Else
max = a(i)
End If
If a(i) Mod (2,3,5) = 0 Then
Label3.Text &= a(i) & " "
End If
Next i
Label1.Text &= max
Label2.Text &= min
End Sub
(2))随机产生15个不重复的A-Z之间的字母(包括A,Z的大写字母),存放在字符数组中。

实现的思想是,每产生一个字母,在数组中查找已产生的字母。

若找到,刚产生的字母作废,重新产生;如果找不到,则产生字母放入数组中。

保存项目为shiyan4-2。

Sub Button1_Click(.....) Handles Button1.Click
Dim s(14) As Char ,c As Char, n%, j%
s(0)=Chr(Int(Rnd()*26+65))
For n=1 To 14
re: c= Chr(Int(Rnd()*26 +65))
For j=0 To n '在已产生的字母中若找到有重复字母,则重新产生
If s(j)=c Then goto
Next j
s(j)= c '没有重复的加入数组中
Next n
For j=0 To 14
Label3.Text =s(j) &“”
Next j
End Sub
三.程序填空题
(1)计算数组中正数之和和负数之和,最后输出这两个和数的绝对值之商。

保存项目为shiyan4-3。

Private Sub Button1_Click(……) Handles Button1.Click
Dim a() As Integer = {23, -5, 23, -45, 11, 8, -3, 38, -31, 15}
Dim s1, s2, i As Integer, x As Single
s1 = 0: s2 = 0
For i = (1)To (2)
Label1.Text = Label1.Text &a(i) &vbCrLf
If (3) Then
s1 = s1 + a(i)
Else
s2 = (4)
End If
Next i
x = s1 / Math.Abs(s2)
Label2.Text = x
End Sub
(2)从键盘读取40个数保存到数组a中,将一维数组中各元素的值移到后一个元素中,而最末一个元素的值移到第一个元素中去。

按每行4个数的格式输出。

保存项目为shiyan4-4。

Private Sub Button1_Click(……) Handles Button1.Click
Dim A(10) As Integer,i, b As Integer
For i = 0 To 10
A(i) = Val(InputBox("请输入一个整数"))
Next i
b = A(10)
For i = (1)
A(i + 1) = A(i)
Next i
(2)
For i = 0 To 10
If i(3) 4 = 0 Then Label1.Text = Label1.Text &vbCrLf
Label1.Text = Label1.Text &A(i) & " "
Next i
End Sub
(3)下列程序的功能是对已知数组A,删除数组中指定值的元素。

保存项目为shiyan4-5。

Private Sub Button1_Click(……) Handles Button1.Click
Dim A() As Integer = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10}
Dim key, i, j, n As Integer
n = UBound(A)
Key = Val(InputBox("输入要删除的值"))
For i = 0 To n
If (1) Then
For j = i + 1 To n
(2)
Next j
ReDim (3)
MsgBox("删除完成")
Exit For
End If
Next i
If i> n Then MsgBox("找不到要删除的元素")
End Sub
四. 编写程序
(1)输出如下形式的乘法表。

将项目保存在shiyan4-6文件夹内。

(2)有100克的药需用天平秤量,现在砝码只有1克、2克和5克共3种,要求的砝码总数为30个,有几种不同的加法?将项目保存在shiyan4-7文件夹内。

(3)建立并输出一个10×10的矩阵,该矩阵对角线元素为1,其余元素均为0。

保存项目为shiyan4-8。

在VB中矩阵常用二维数组来处理,首先要定义一个二维数组A(9,9),接着可以用二重For循环实现二维数组的输入和输出,并正确处理在主、副对角线上的数组元素。

相关文档
最新文档