实验五 数组应用程序设计

合集下载

C++语言程序设计形考二实验五

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.二、实验要求读懂步伐,弥补步伐中下划线处缺失的部分,上机测试,直至产生精确的输出成效。

三、实验结果截图。

C语言实验五实验报告——数组

C语言实验五实验报告——数组

C语言实验五实验报告——数组一、实验目的:1.了解数组的概念和基本使用方法;2.掌握一维数组和二维数组的定义、初始化、赋值及基本运算实现;二、实验内容与方法1.理论部分数组是一些具有相同类型的数据元素按一定顺序排列组合而成的集合,在程序设计中它是一个变量列表,由若干相同数据类型的元素组成。

通常用一个名字和一个下标来表示,下标可理解为数组元素在数组中的位置编号。

数组的特点:数组是根据顺序排列的元素的集合;所有的元素必须是相同类型。

数组的定义方法:1. 定义数组,数组元素类型 + 数组名[元素的个数];2. 元素的个数必须是整型常量或变量,定义时必须明确、指定元素的个数;3. 声明一个数组时,除了要指定数组的类型外,还要指定数组的名称;4. 数组定义完后,需要对其中的每个元素进行初始化。

可以在定义数组时赋初值,也可以通过赋值符号,对数组元素逐个进行赋值。

数组的初始化:1. 元素个数之间用逗号分开,最后1个元素后无逗号;2. 支持部分元素初始化;3. 定义和初始化可以一步完成。

二维数组数组可分为一维和多维数组。

一维数组可以看作是包含多个元素的向量,而二维数组可以看做是包含了多个一维数组的矩阵。

二维数组有行号和列号,因此,它同样需要两个下标。

数组元素类型数组名[行数][列数];数组元素类型数组名[ ][ ] = { {元素1, 元素2, ……}, {元素1, 元素2, ……}, ……{元素1, 元素2, ……}}2.实验代码**问题1:**定义一个一维数组a,包含有5个元素,分别为1,2,3,4,5;**问题2:**定义一个一维数组a,接收用户从键盘输入的5个数值,分别打印存储的各个元素。

三、实验结果与分析结果分析:定义了一个5个元素的一维数组a,并初始化了各个元素的值,其元素分别为1,2,3,4,5.循环遍历一遍数组a,并打印数组元素。

程序执行正常。

3.针对问题3:定义一个二维数组a,由4行3列组成,每个元素初始化为0,打印存储的各个元素;程序运行结果如下:四、实验总结:该实验主要是通过对C语言数组的理论知识和基本操作进行练习,加深了对数组的了解和掌握。

程序设计实验报告总结.doc

程序设计实验报告总结.doc

程序设计实验报告总结实验五使用数组的程序设计班级学号姓名一、实验目的(1)掌握一维数组和二维数组的定义、赋值和输入输出方法。

(2)掌握字符数组的使用。

(3)掌握与数组有关的算法。

二、实验内容及步骤1、验证性实验输入已编好的源程序,然后进行编辑、编译、连接和运行,观察运行结果。

(1)某数列前两项为0,1,以后各项均为前相邻两项之和,输出该数列前20项。

#include&lt;stdio.h&gt;main(){long i,x[20];x[0]=0;x[1]=1;for(i=2;i&lt;20;i++)x[i] =x[i-1]+x[i-2];for(i=0;i&lt;20;i++)printf(&quot;% ld\t&quot;,x[i]);}输出结果:(2)从键盘输入N个自然数,然后按升序进行排列。

用;比较法;#include&lt;stdio.h&gt;#define N 10main(){int a[N],t,i,j;for(i=0;i&lt;N;i++) /*本循环输入N个原始数据*/scanf (&quot;%d&quot;, &amp;a[i]);for(i=0;i&lt;N-1;i++) /*本循环完成排序*/for(j=i+1;j&lt;N;j++) /* x[i]与它后边所有元素逐一比较,大则交换*/if (a[j]&lt;a[i]) {t=a[j];a[j]=a[i];a[i]=t;}for(i=0;i&lt;N;i++) /* 输出排序后的数组*/printf(&quot; %d&quot;,a[i]);}输出结果:2、完成以下程序,并进行调试(1)从键盘输入一个班(全班最多不超过30人)学生某门课的成绩,当输入成绩为负值时,输入结束,分别统计下列内容:a)统计不及格人数并打印不及格学生名单;b)统计成绩在全班平均分及平均分之上的学生人数并打印其学生名单;c)统计各分数段的学生人数及所占的百分比程序代码:#include&lt;stdio.h&gt;int F1(int i,int sum,int *a,int *counter){int j;printf(&quot;不及格学生名单:&quot;);for(j=1;j&lt;i-1;j++){sum+=a[j];if(a[j]&lt;60){printf(&quot;%3d&quot;,j);counter[0]++;}}return sum;}F2(int i,float average,int *a,int *counter){int j;printf(&quot;average=%f,成绩大于等于平均分的学生名单:&quot;,average);for(j=1;j&lt;i-1;j++){if(a[j]&gt;=average){printf(&quot;%3d&quot;,j);counter[11]++;}}}F3(int i,int *a,int *counter){int j;for(j=1;j&lt;i-1;j++){if(a[j]&lt;=10) counter[1]++;else if(a[j]&gt;10&amp;&amp;a[j]&lt;=20) counter[2]++;else if(a[j]&gt;20&amp;&amp;a[j]&lt;=30) counter[3]++;else if(a[j]&gt;30&amp;&amp;a[j]&lt;=40) counter[4]++;else if(a[j]&gt;40&amp;&amp;a[j]&lt;=50) counter[5]++;else if(a[j]&gt;50&amp;&amp;a[j]&lt;=60) counter[6]++;else if(a[j]&gt;60&amp;&amp;a[j]&lt;=70) counter[7]++;else if(a[j]&gt;70&amp;&amp;a[j]&lt;=80) counter[8]++;else if(a[j]&gt;80&amp;&amp;a[j]&lt;=90) counter[9]++;else if(a[j]&gt;90&amp;&amp;a[j]&lt;=100) counter[10]++;}printf(&quot;各分数段人数: 百分比:\n&quot;);for(j=1;j&lt;=10;j++)printf(&quot;%d %f\n&quot;,counter[j],(float)(counter[j])/(i-2)); }main(){static int a[31],counter[12],flag;int i=1,j=1,sum=0;float average;printf(&quot;请输入学生成绩并以负值结束: &quot;);do{scanf(&quot;%d&quot;,&amp;a[i]);if(a[i]&lt;0)flag=1;i++;}while(flag==0);sum=F1(i,sum,a,counter);printf(&quot;不及格人数=%d\n&quot;,counter[0]);average=(float)sum/(i-2);F2(i,average,a,counter);printf(&quot;大于等于平均分人数=%d\n&quot;,counter[11]);F3(i,a,counter);}运行结果:(2)编写一个程序,利用字符数组实现两个字符串的比较。

实验五 数组应用程序设计

实验五 数组应用程序设计

实验五常用控件程序设计(4个学时)一、实验目的1.掌握单选按钮、复选按钮、框架、列表框、组合框、时钟和滚动条的属性、事件和方法。

2.明确常用内部控件的功能,熟练使用“属性”窗口设置属性。

3.掌握在常用内部控件的事件过程中编写程序代码。

二、实验内容1. 设计一个程序运用单选按钮、复选框和框架对文本框中文本的颜色、字号和效果进行设置。

要求:文本的颜色可以选择红色、绿色和蓝色。

文本的字号可以选择12、18、24号,效果可以选择删除线和下划线。

当文本框中输入文字后,单击某个按钮,文本框中的文字将按所选择的选项进行设置。

(参考上机指导P6,第一题)1)代码设计如下Private Sub Check1_Click()If Check1.V alue = 1 ThenText1.FontStrikethru = TrueElseText1.FontStrikethru = FalseEnd IfEnd SubPrivate Sub Check2_Click()If Check2.V alue = 1 ThenText1.FontUnderline = TrueElseText1.FontUnderline = FalseEnd IfEnd SubPrivate Sub Option1_Click()Text1.ForeColor = &HFF&End SubPrivate Sub Option2_Click()Text1.ForeColor = &H8000&End SubPrivate Sub Option3_Click()Text1.ForeColor = &HFF0000End SubPrivate Sub Option4_Click()Text1.FontSize = 12End SubPrivate Sub Option5_Click()Text1.FontSize = 18End SubPrivate Sub Option6_Click()Text1.FontSize = 24End Sub2)运行后的结果(将运行结果的界面截下来粘贴在下面)3)调试过程记录(错误情况及改正方法,不得少于三条)(1)对删除线2. 编写一个为组合框中添加或删除内容的程序。

Vb实验五数组的应用

Vb实验五数组的应用

《Visual Basic 6.0程序设计》实验报告(五)一、实验名称:数组的应用(4学时)二、实验目的:1.掌握数组的声明和数组元素的引用;2.掌握静态数组和动态数组的声明和使用;3.学会应用数组解决与数组有关的常用算法问题;4.掌握控件数组的建立和应用。

三、实验环境多媒体计算机WindowsXP操作系统Visual Basic 6.0四、实验内容及实验步骤(或记录)1.输入10名同学的成绩,求平均分、最高分和最低分。

设计步骤如下:①在窗体上添加3个标签(Label1、Label2和Label3)和3个文本框(Text1、Text2和Text3),设计界面如图7.2所示。

各控件的主要属性和作用如表1所示。

控件的属性和作用②编写程序代码如下:Private Sub Command1_Click()Dim Score(1 To 10) As Integer '声明存放成绩的数组ScoreDim i As Integer,Max As Integer,Min As Integer,Average As SingleFor i = 1 To 10 '逐一输入每个同学的成绩Score (i) = Val (InputBox ("输入第" & Str(i)& "个学生的成绩","成绩统计",""))Next iEnd SubPrivate Sub Command2_Click()Dim i As IntegerDim sum As Single, aver As Singlesum = Score (1) ' sum 用于存放总成绩,初值为数组中的第一个元素Max = Score (1) ' 设变量Max的初值为数组中的第一个元素Min = Score (1) ' 设变量Min的初值为数组中的第一个元素For i = 2 To 10 ' 通过循环依次比较,求最大、最小值;求总和If Score(i) > Max Then Max = Score(i)If Score(i) < Min Then Min = Score(i)sum = sum + Score(i)Next iaver = sum / 10 ' 求平均值Text1.Text = Format (Average, "0.00 " ) ' 以两位小数显示平均值Text2.Text = MaxText3.Text = MinEnd Sub2.生成20个0到100之间的随机整数存于数组A,然后将这20个数按递增顺序排序。

C语言实验五实验报告——数组

C语言实验五实验报告——数组

C语言实验五实验报告——数组实验五:数组实验目的:1.掌握数组的定义和使用;2.熟悉数组在函数中的传递;3.练习编写使用数组的程序。

实验原理:数组是一组相同类型的变量的集合,这些变量称为数组的元素。

数组的名字是一个指针常量,它存放的是数组首个元素的地址。

数组元素在内存中是连续存放的,可以通过下标访问每一个元素。

数组的定义:数组的定义格式为:数据类型数组名[数组长度];数组的初始化:数组可以在定义时进行初始化,也可以在定义之后通过赋值进行初始化。

数组作为函数参数:数组可以作为函数的形参进行传递,可以通过指针传递整个数组,也可以传递数组的部分元素。

实验步骤:1.编写一个程序,实现对学生成绩的管理。

要求如下:-使用一个数组保存学生的成绩;-能够动态添加学生的成绩,并显示添加成功的信息;-能够计算学生的平均成绩,并显示;-能够根据用户输入的学号查找对应学生的成绩,并显示。

2.编写一个程序,实现对一组整数进行排序。

要求如下:-首先自定义一个整数数组,数组元素个数为用户输入;-编写一个函数,实现对数组进行排序,要求使用选择排序算法;-在主函数中调用该函数,对数组进行排序后显示。

实验结果与分析:1.学生成绩管理程序运行结果如下:```-------学生成绩管理系统-------[1]添加学生成绩[2]计算平均成绩[3]查找学生成绩[4]退出系统请输入选项:1请输入成绩:90添加成功![1]添加学生成绩[2]计算平均成绩[3]查找学生成绩[4]退出系统请输入选项:1请输入成绩:85添加成功![1]添加学生成绩[2]计算平均成绩[3]查找学生成绩[4]退出系统请输入选项:2平均成绩为:87.5[1]添加学生成绩[2]计算平均成绩[3]查找学生成绩[4]退出系统请输入选项:3 [1]添加学生成绩[2]计算平均成绩[3]查找学生成绩[4]退出系统请输入选项:4退出系统。

```2.整数排序程序运行结果如下:```-------整数排序-------请输入待排序的整数个数:6请输入第1个整数:5请输入第2个整数:3请输入第3个整数:9请输入第4个整数:2请输入第5个整数:7请输入第6个整数:1排序前的整数序列为:539271排序后的整数序列为:123579 ```实验总结:通过本次实验,我深入理解了数组的原理和用法,并且掌握了数组在函数中的传递。

C语言实验程序、总结 实验五 数组

C语言实验程序、总结  实验五  数组

实验五数组一实验目的1 掌握一维数组和二维数组的定义、赋值和输入输出的方法;2 掌握字符数组和字符串函数的使用;3 掌握与数组有关的算法(特别是排序算法)二实验内容1 程序功能:输入12个整数,按每行3个数输出,最后输出它们的平均值。

#include <stdio.h>#define N 12main(){ int i,a[N],av;for(i=0;i<N;i++) scanf("%d",a[i]);for(i=0;i<N;i++){ printf("%d",a[i]);if(i%3==0) printf("\n");}for(i=0;i<N;i++) av+=a[i];printf("av=%f\N",av);}上面给出的程序有错误,请改正并运行,记录输出结果。

【提示】请注意输入提示、变量赋初值、循环结束条件、输出格式等问题。

修改正确的程序如下:#include<stdio.h>#define N 12main(){ int i,a[N],av=0;for(i=0;i<N;i++) scanf("%d",&a[i]);for(i=0;i<N;i++){ printf("%d",a[i]);if((i+1)%3==0) printf("\n");}for(i=0;i<N;i++) av+=a[i];printf("av=%d\n",av/N);}运行结果如下图:2 选择排序(升序):最常用的排序方法除了冒泡排序外,还有选择排序。

【算法】n个数的选择排序的算法:⑴定义变量、输入n及数组a各元素⑵n个数排序要进行n-1遍以下是一遍排序(第i遍)的方法:①设最小数的下标k=i,则最小数为a[k]②从下标j=i+1的元素起,到最后一个元素(j=n-1),将a[j]与最小数a[k]比较,确定最小数的下标k③交换a[i]与最小数a[k]⑶输出已排序的n个数请根据上面的算法编写选择排序程序,并编辑运行、记录输入输出数据。

C++语言程序设计形考二实验五

C++语言程序设计形考二实验五

上机实验5:数组应用程序设计一、实验内容有如下程序:#include <iostream>using namespace std;int main(){__________________ //定义具有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 7 9。

二、实验要求读懂程序,补充程序中下划线处缺失的部分,上机测试,直至产生正确的输出结果。

三、实验结果截图(请将实际上机运行的结果截图并上传)。

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

实验五数组应用程序设计
一、实验目的
1.掌握数组的声明、数组元素的引用。

2.掌握静态数组和动态数组的使用差别。

3.应用数组解决与数组有关的常用算法问题。

4.学会使用控件数组。

二、实验内容
1.设有一个6×6的方阵,其中的元素是随机产生的10 - 99 之间的两位数. 分别求出主对角
线和次对角线上元素之和,以及方阵中最小的元素的位置和值.
要求:
程序运行后,单击“产生”按钮时,输出方阵。

单击“计算”按钮时,输出对角线元素之和,以及最小元素的值与位置。

1)代码设计如下
Dim a(6, 6) As Single
Private Sub Command1_Click()
Dim i%
Dim j%
Cls
For i = 1 To 6
For j = 1 To 6
a(i, j) = Int(Rnd * (99 - 10 + 1)) + 10
Print a(i, j);
Next j
Print
Next i
End Sub
Private Sub Command2_Click()
Dim i%, j%, min%, mini%, minj%, zsum%, csum%
min = a(1, 1): mini = 1: minj = 1
zsum = 0: csum = 0
Cls
For i = 1 To 6
For j = 1 To 6
If (i = j) Then zsum = zsum + a(i, j)
If (i + j = 7) Then csum = csum + a(i, j)
If a(i, j) < min Then
min = a(i, j)
mini = i
minj = j
End If
Next j
Next i
Print "主对角线元素之和" & zsum
Print "次对角线元素之和" & csum
Print "最小元素的值" & min & " 最小元素位置i=" & mini & " j=" & minj
End Sub
2)将运行结果的界面截下来粘贴在下面:
3)调试过程记录(错误情况及改正方法)
2.设计程序:某一维数组共有10个元素,元素的值为(89,76,98,90,67,95,74,89,93,77),当当单击“排序”按钮时,将数组按由大到小的顺序排序后显示在一个标签中。

(参照书本P112,例6.6)
1)代码设计如下
2)将运行结果的界面截下来粘贴在下面
3)调试过程记录(错误情况及改正方法)
3. 利用控件数组设计一个简易的计算器。

要求能够进行整数的加、减、乘、除运算,并将结果显示在标签中。

设计一个清除上次结果的功能,可进行多次运算。

界面如下图所示。

1)以表格形式进行属性设置(写出所有非默认属性值的设置)
2)代码设计
3)调试过程记录(错误情况及改正方法)。

相关文档
最新文档