实验5-数组答案
C++语言程序设计形考二实验五

C++语言程序设计形考二实验五上机实验5:数组应用程序设计一、实验内容有如下程序:#include<iostream>using namespacestd;intmain(){__________________ //定义具有6个元素的整形数组dint data,i=0.// data用于暂存每一个输入数据,i记录已插入数据的个数。
cout<<"请输入6个整数:";do{ //输入并处理6个数据cin。
data;int j=i。
//j是候选的插入位置while(j>0){ //若j==0,它就是第一个数据的插入位置,无需进入循环。
if(data>=d[j-1]) __________。
//若找到插入位置,退出循环。
d[j]=d[j-1]。
//否则数据后移一个位置j--;}d[j]=data。
//数据插入到位置j处i++。
//i记录已插入数据的个数}while(________)。
//若缺乏6个数据,连续输入。
for(_______________________) cout<<d[i]<<' ';//表现数组中的6个数据cout<<endl;return 0;}此程序输入6个整数保存到一维数组d中,使得输入的数据在数组中始终按从小到大的顺序排列,最后顺序输出数组中的数据。
例如,若输入是5 7 4 29 3,程序的输出是:2 3 4 5 79.二、实验要求读懂步伐,弥补步伐中下划线处缺失的部分,上机测试,直至产生精确的输出成效。
三、实验结果截图。
《程序设计基础—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语言实验册完整答案

实验2答案五.程序改错#include<stdi o.h>int main(void){int x=3,y;y = x*x;printf("%d = %d * %d\n",y,x,x); /* 输出*/printf("%d * %d = %d\n",x,x,y);return 0;}六、一般编程题6.1#include<stdio.h>int main(void){int x,y;printf("Input x: ");scanf("%d",&x);printf("Input y: ");scanf("%d",&y);printf("%d + %d = %d\n",x,y,x+y);printf("%d - %d = %d\n",x,y,x-y);printf("%d * %d = %d\n",x,y,x*y);printf("%d / %d = %d\n",x,y,x/y);printf("%d %% %d = %d\n",x,y,x%y);return 0;}6.2#include<stdio.h>int main(void){ float x; double y;printf("Input x: ");scanf("%f",&x);printf("Input y: ");scanf("%lf",&y);printf("%f + %f = %f\n",x,y,x+y);printf("%f - %f = %f\n",x,y,x-y);printf("%f * %f = %f\n",x,y,x*y);printf("%f / %f = %f\n",x,y,x/y);return 0;}6.3#include<stdio.h>int main(void){ char c;printf("Input c: ");scanf("%c",&c);printf("%c\n",c+32);return 0;}6.4#include<stdio.h>int main(void){int celsius,fahr;fahr = 150;celsius = 5*fahr/9 - 5*32/9;printf("fahr = %d, celsius = %d\n", fahr, celsius);return 0;} 如果使用公式9)32(5-⨯=f c 计算结果不一样,celsius = 65。
实验5-数组答案

VB程序设计实验五实验目的●掌握一维数组和二维数组的操作●学习跟数组相关的控件:列表框和组合框复习1.列表框列表框(ListBox)控件允许用户查看和选择列表中的多个元素。
表5-11 列表框的常用属性和事件2.组合列表框(ComboBox)整合了列表框和文本框的功能,以一个文本框控件(TextBox)右边加上一个向下箭头的样式显示。
有Simple(简单组合框)、DropDown(下拉组合框)和DropDownList(下拉列表框)。
其中,Simple选项不显示下拉箭头,而是在控件的旁边显示一个滚动条;DropDown风格(默认值)在单击向下箭头时显示一个下拉列表,且在ComboBox中输入一个值;DropDownList显示一个下拉列表,但不允许用户在ComboBox中输入。
表5-13 组合列表框的常用属性和事件(1) Items.Count属性:列表框或组合框中项目数量。
最后一项的序号为Items.Count-1,该属性只能在程序中设置或引用。
(2) Text属性:被选定的选项的文本内容。
该属性只能在程序中设置或引用。
注意:ListBox1.Items(ListBox1.SelectedIndex)等于ListBox1.Text。
(3) Items.Add方法把一个选项加入列表框,格式:对象.Items.Add(选项);如:ListBox1.Items.Add("周海涛")(4) Insert方法在指定位置插入一个项目。
格式:对象.Items.Insert(序号, 添加项内容)(5)Items.Remove方法从列表框中删除指定的项。
格式:对象. Items.Remove (选项)。
例如:ListBox1.Items.Remove ("华成")(6)Items.RemoveAt方法格式:对象.RemoveAt(Index)从列表框中删除指定的项。
Index表示被删除项目在列表框中的位置,从0开始。
实验5参考答案

实验5参考答案实验5参考答案5-1.c:求具有10个元素的一维数组中正数、负数和零的个数。
#includestdio.hvoidmain(){inti,m,n,z,num[10];/*m、n、z为三个计数器*/m=n=z=0;for(i=0;ii++){scanf(%d,num[i]);if(num[i]0)m++;elseif(num[i] 0)n++;elsez++;}printf(m=%d,n=%d,z=%d\n,m,n,z);}5-2.c:输入10个数,用选择排序法由小到大排序并输出。
#includestdio.hvoidmain(){inti,j,p,q,s,a[10];printf(\ninput10numb ers:\nfor(i=0;ii++)scanf(%d,a[i]);for(i=0;ii++){p=i;q=a[i];for(j=i+1; jj++)if(qa[j]){p=j;q=a[j];}if(i!=p){s=a[i];a[i]=a[p];a[p]=s;}printf(% d,a[i]);}}5-3.c:输入10个数,用冒泡排序法由小到大排序并输出。
#includestdio.hvoidmain(){inta[10];inti,j,t;printf(input10numbers:\nfor(i=0;ii++)scanf(%d,a[i]);for(j=0;jj++) /*一共9趟,j为0~8*/for(i=0;ii++)/*i为0~8-j*/if(a[i]a[i+1]){t=a[i];a[i]=a[i+1];a[i+1]=t;}printf(thesortednu mbers:\nfor(i=0;ii++)printf(%d,a[i]);printf(\n}5-4.c:教材P88第3题:从键盘上输入5行5列整型数组,并找出主对角线上元素的最大值及其所在行号。
#includestdio.hvoidmain(){inta[5][5],i,j,max,hh;/*hh用于存放最大值的行号*/for(i=0;ii++)for(j=0;jj++)scanf(%d,a[i][j]);max=a[0][0];hh=0;for(i= 1;ii++)if(maxa[i][i]){max=a[i][i];hh=i;}printf(最大值为:%d,行号为:%d\n,max,hh);}5-5.c:教材P88第5题:一个数如果恰好等于它的因子之和,这个数就称为完数,例如6=1+2+3。
习题五--数组

习题五--数组⼀、A类程序设计题1、求⼀个4x4矩阵对⾓线元素之和。
2、⽤数组的⽅法求Fibonacci数列的值(要求输出前20个数)。
3、将⼀个3x4矩阵转置(⾏列互换)存放。
4、将⼀个数组中的数按逆序存放,例如原来的顺序为8,7,6,4,2,要求改为2,4,6,7,8。
5、⽤选择法对10个整数进⾏降序排序。
6、⽤冒泡法对10个整数进⾏升序排序。
7、编写⼀个简单程序,要求:(1)从键盘上输⼊8个整数放⼊数组a[8]中(⽤for循环实现);(2)求出数组元素的最⼤值及数组的平均值。
8、求3×4矩阵中每⼀列元素的最⼤值并输出。
9、求4×4矩阵中每⼀⾏元素的最⼩值并输出。
10、某班有30个学⽣,进⾏了数学考试,编写程序将考试成绩输⼊⼀维数组,并求数学的平均成绩及不及格学⽣的⼈数。
11、有⼀个3x4矩阵,求出最⼤元素,以及其所在的⾏号和列号。
12、从键盘上输⼊10个实数,然后按输⼊顺序的逆序输出这10个数。
13、从键盘输⼊10个整数,找出其中最⼤值和最⼩值。
14、输⼊10个学⽣的姓名、学号和成绩,将其中不及格者的姓名、学号和成绩输出。
15、输⼊字符串 s,统计出 s 中共出现了多少个数字字符。
⼆、B类程序设计题1、对⼀个已按由⼩到⼤排好顺序的整型数组,若从键盘输⼊⼀个数x,现要查询该数是否在此整型数组中,若存在则删除该数,否则显⽰“不存在”信息。
2、对⼀个已按由⼩到⼤排好顺序的整型数组,若从键盘输⼊⼀个数x,现要将该数插⼊到该数组中,使其插⼊后整个数组排序规律不变。
3、编写⼀程序,要求从键盘上输⼊10个整数放⼊⼀个数组中(⽤for循环实现),并编写求最⼤值的函数max,在主程序调⽤这个函数实现输出数组中10个整数的最⼤值,要求⽤数组名作为函数参数。
4、输⼊⼀个4⾏4列的⼆维数组,编程实现:(1) 求出其中的最⼤值和最⼩值及其对应的⾏列位置;(2) 求出对⾓线上各元素之和。
5、⽤筛选法求100之内的素数。
VB实验五答案

沈阳师范大学面向对象程序设计实验报告实验题目实验五数组和自定义类型学号姓名刘丽年级10级指导教师王飞提交时间10.24一、实验目的(1)掌握数组的声明、数组元素的引用。
(2)掌握固定长度数组和动态数组的使用差别。
(3)掌握数组常用的操作和常用算法。
(4)掌握列表框和组合框的使用。
(5)掌握自定义类型及数组的使用。
二、实验内容及要求(1)完成课堂讲授的两个示例例5.1和例5.4。
(2)完成实验E第1实验内容(教材p272)。
(3)完成课堂讲授的实例5.10和5.13(教材p113和教材p118)。
(4)完成实验E第7实验内容(教材p273)。
三、实验分析与设计例5.1 计算一个班100个学生的平均成绩,然后统计高于平均分的人数。
步骤1 启动VisualBasic6.0,创建一个“标准EXE”类型的应用程序,步骤2 设计界面:不需添加控件如图所示:步骤3 设置控件属性。
步骤4 事件及编程,如下所示:窗体事件Private Sub Form_Click()Dim mark(1 To 100) As IntegerDim aver!, n%, i%aver = 0For i = 1 To 100mark(i) = InputBox("输入第" & i & "位学生的成绩")aver = aver + mark(i)Next iaver = aver / 100n = 0For i = 1 To 100If mark(i) > aver Then n = n + 1Next iPrint "平均分:", aver, "高于平均分的人数:", nEnd Sub步骤5 单击“运行”按钮运行程序,若程序运行有错,则进入代码窗口中调试。
步骤6 保存文件,生成可执行文件。
例5.4 求一维数组中各元素之和、最小数组元素,并将最小数组元素与数组中第一个元素交换。
实验五 数组实验

实验五数组的使用一实验目的要求1 掌握数组的概念和使用方法。
2 掌握数组初始化的方法。
3学会字符数组和字符串的应用。
4 学会用数组名作函数的参数。
二有关概念1 只有静态数组和外部数组才能初始化。
2 引用数组时,对下标是否越界不作检查。
如定义int a[5];在引用时出现a[5],不给出错信息,而是引a[4]下面一个单元的值。
3 字符串放在字符数组中,一个字符串以‘/o’结束,有一些字符串函数如strcpy,strcmp,strlen等可以方便一进行字符串运算。
4 如有如下定义:char *str=“I love china”;表示 str是一个字符型指针变量,它的值是一个字符数据的地址。
不要认为str是字符串变量,在其中存放一个字串“I love china”。
5 用数组名作函数实参时,传到形参的是数组的首地址。
三实验内容和步骤1 定义三个数组int a[5];int b[2][2];char c[10];(1)分别在函数体外和函数体内对它们进行初始化,然后输出它们的值。
(2)在程序中再加一语句,输出a[5],b[2][2] ,分析结果。
(3)对C数组改为用赋值语句给各元素赋初值:c[0] ~ c[9]各元素分别为:…I‟, …‟, …a‟, …m‟, …‟, …b‟, …o‟, …y‟。
然后用printf(“%s”,c)输出字符串,分析结果。
参考程序如下:(1)main(){ int i,x,y;static int a[5]={1,2,3,4,5};static int b[3][2]={{3,4},{6,7},{9,5}}static char c[10]={ …i‟, …l‟, …p‟, …q‟, …k‟, …s‟, …d‟, …e‟, …a‟};for(i=0;i<5;i++)printf( “%5d”,a[i]);for(x=0;x<3;x++)for(y=0;y<2;y++)printf(“%5d”,b[x][y]);for(i=0;i<10;i++)printf(“%3c”,c[i]);}(2)结果无此值,在上面程序中要输出a数组第5个元素,和b数组的第3行第2例元素,应加此程序行:Printf(“%d”,a[4]);Printf(“%d”,b[2][1]);2 有一数组,内放10个整数,要求找出最小的数和它的下标。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
VB程序设计实验五实验目的●掌握一维数组和二维数组的操作●学习跟数组相关的控件:列表框和组合框复习1.列表框列表框(ListBox)控件允许用户查看和选择列表中的多个元素。
表5-11 列表框的常用属性和事件2.组合列表框(ComboBox)整合了列表框和文本框的功能,以一个文本框控件(TextBox)右边加上一个向下箭头的样式显示。
有Simple(简单组合框)、DropDown(下拉组合框)和DropDownList(下拉列表框)。
其中,Simple选项不显示下拉箭头,而是在控件的旁边显示一个滚动条;DropDown风格(默认值)在单击向下箭头时显示一个下拉列表,且在ComboBox中输入一个值;DropDownList显示一个下拉列表,但不允许用户在ComboBox中输入。
表5-13 组合列表框的常用属性和事件(1) Items.Count属性:列表框或组合框中项目数量。
最后一项的序号为Items.Count-1,该属性只能在程序中设置或引用。
(2) Text属性:被选定的选项的文本内容。
该属性只能在程序中设置或引用。
注意:ListBox1.Items(ListBox1.SelectedIndex)等于ListBox1.Text。
(3) Items.Add方法把一个选项加入列表框,格式:对象.Items.Add(选项);如:ListBox1.Items.Add("周海涛")(4) Insert方法在指定位置插入一个项目。
格式:对象.Items.Insert(序号, 添加项内容)(5)Items.Remove方法从列表框中删除指定的项。
格式:对象. Items.Remove (选项)。
例如:ListBox1.Items.Remove ("华成")(6)Items.RemoveAt方法格式:对象.RemoveAt(Index)从列表框中删除指定的项。
Index表示被删除项目在列表框中的位置,从0开始。
例如:ListBox1.Items.RemoveAT(4)(7) Items.Clear方法格式:对象.Items.Clear用于清除列表框所有项目,例如:ListBox1.Items.Clear4.单选按钮、复选框和框架1)单选按钮(RadioButton)单选按钮以组的形式出现,允许选择其中一项。
•Text属性:按钮上显示的文本•TextAlign属性:文本对齐方式•Checked属性:表示单选按钮的状态,True ——被选定,False ——未被选定•Click事件:单击后,使Checked属性为True•CheckedChanged事件:当某个单选按钮的状态被发生变化,该事件随之被触发。
2)复选框(CheckBox)与RadioButton具有相同属性和事件,之外还有:•CheckState属性:表示复选框状态,Unchecked——未选定,Checked——被选定,Indeterminate——灰色3)框架(GroupBox分组框)•Text属性:标题文本•Enabled属性:框架和其中的控件•Visible属性:为False时,框架及其所有控件都被隐藏起来。
框架可以响应Click和DoubleClick事件,但一般不需要编写事件过程。
实验内容1.参照下图界面,程序运行时,可根据用户的需要,设置字体的前景色、背景色、字体大小等,文本框中的文字会发生相应改变。
其中,字体、字体大小、字体效果、字体背景色、字体前景色分别为框架。
设计时,先建立框架,再将各个控件分别放入框架内,当移动框架时,里面的控件同时移动。
保存项目为shiyan5-1。
创建项目:1)双击工具箱的“容器”选项卡下的GroupBox按钮,在窗体上建立5个框架控件,分别将其Text属性设置为“字体”、“字体大小”、“字体效果”、“字体背景色”和“字体前景色”。
2)单击RadioButton按钮,在“字体”和“字体大小”框架中画出单选按钮,并设置其Text属性。
3)单击ListBox按钮,在“字体效果”框架中画出列表框,单击Items属性旁的按钮,输入列表项的内容(如“加粗”、“斜体”等),并每项内容之间按Enter键。
4)单击CheckBox按钮,在“字体背景色”框架中画出复选框,并设置其Text 属性。
其中,“Red”复选框的Checked属性值为True。
5)单击ComboBox按钮,在“字体前景色”框架中画出下拉列表框,其属性值通过Form_Load事件过程设置。
提示:(1)在通用声明段中声明6个变量R、G、B、rr、s、f,R、G、B分别用于保存字体背景红、绿、蓝色的设置,rr用于保存颜色,s用于保存字体大小,f用于保存字体。
Dim R%, rr%, G%, B%, s%, f$ '声明R、G、B、rr、s、f为窗体模块级变量在Form_Load事件过程中设置颜色的初始值,并添加“字体前景色”下拉列表中的列表项。
R = 255 : G = 0 : B = 0s = 9 : f = "宋体"ComboBox1.Items.Add("Black")‘在组合框中添加项目,第1项下标为0开始ComboBox1.Items.Add("White")ComboBox1.Items.Add("Yellow")ComboBox1.Text = "Black"‘设置当前选项为"Black"(2)“字体”框架中单选按钮的事件过程代码(其他字体事件过程参照该事件过程)Private Sub RadioButton1_Click(……) Handles RadioButton1.Click '单击“宋体”单选按钮f = "宋体"TextBox1.Font = New Font(f, s)End Sub其中,Font为字体类,设置字体使用New Font(字体名称字符串, 字号,字体效果)(3)在中,每一种颜色用一个整型数据来表示,可使用Color颜色结构中的FromArgb(x,y,z)函数来实现,或用颜色函数RGB(x,y,z),通过ColorTranslator类转换实现。
“字体背景色”框架中复选框的事件过程Private Sub CheckBox5_CheckedChanged( ……) Handles CheckBox5.CheckedChanged'单击“Red”复选框If CheckBox5.Checked = True Then‘要判断各个复选框的选定状态,颜色由R、G、B组成R = 255ElseR = 0End Ifrr = RGB(R, G, B)Textbox1.BackColor = System.Drawing.ColorTranslator.FromOle(rr)End Sub“字体前景色”框架中下拉列表框的事件过程如下:Private Sub ComboBox1_SelectedIndexChanged(…) Handles ComboBox1.SelectedIndexChanged '选择“字体前景色”下拉列表Select Case ComboBox1.TextCase "Black"Textbox1.ForeColor = Color.BlackCase "White"Textbox1.ForeColor = Color.WhiteCase "Yellow"Textbox1.ForeColor = Color.YellowEnd SelectEnd Sub“字体效果”框架中列表框的事件过程(SelectedIndexChanged事件过程)If ListBox1.SelectedIndex=0 ThenTextBox1.Font = New System.Drawing.Font(TextBox1.Font, FontStyle.Bold)End If也可以用Select Case 语句2.编写程序输出一个9行的“杨辉三角形”,如图4- 1错误!未找到引用源。
所示。
保存项目为shiyan5-2.图4- 1杨辉三角形提示:①杨辉三角形的形式:对角线和每行的第一列均为1,其余各项是它的上一行中同一列元素和其前面一个元素之和。
如下数据是一个5行的杨辉三角。
1 0 0 0 01 1 0 0 01 2 1 0 01 3 3 1 01 4 6 4 1a(i, j)=a(i-1, j)+a(i-1, j-1)②用Space函数确定数据之间的空格:Label1.Text = Label1.Text & a(i, j) & IIf(a(i, j) < 10, Space(3), Space(2))PrivateSub Button1_Click(sender As System.Object, e As System.EventArgs) HandlesButton1.ClickDim i, j, n, a(8, 8)n = 8For i = 0 To nFor j = 0 To iIf i = j Or j = 0 Thena(i, j) = 1ElseIf i<> 0 And j <> 0 Thena(i, j) = a(i - 1, j) + a(i - 1, j - 1)EndIfNextNextFor i = 0 To nLabel1.Text &= Space((n - i) * 2 + 2)For j = 0 To iLabel1.Text = Label1.Text &a(i, j) &IIf(a(i, j) < 10, Space(3), Space(2))NextLabel1.Text = Label1.Text &vbNewLineNextEndSub3.将数组下标为偶数的元素从小到大排序,其他元素不变。
保存项目为shiyan5-3 Private Sub Button1_Click( ……) Handles Button1.ClickDim a() As Integer = {90, 49, 23, 45, 11, 45, 67, 23, 68, 56}Dim i, j, n, temp As Integern = UBound(a)For i = 0 To nLabel1.Text = Label1.Text &a(i) &vbCrLfNext iFor i =__0__(1)____To (n \2 -1) * 2 ____(2)____step 2For j = _i+2___(3)____To __(n \2 )* 2__(4)____Step 2If ____(5)_a(i)>a(j)_____ Thentemp = a(i): a(i) = a(j): a(j) = tempEnd IfNext jNext iFor i = 0 To nLabel2.Text = Label2.Text &a(i) &vbCrLfNext iEnd Sub4.下面程序对产生的10个随机数进行排序,程序中有4个错误,请在相应的行上改正。