当前位置:文档之家› 实验6 数组程序设计

实验6 数组程序设计

实验6 数组程序设计
实验6 数组程序设计

实验6 数组程序设计

实验6 数组程序设计

实验目的:

1.掌握的定义方法。

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

3.掌握控件数组的产生方法

4.明确控件数组中控件名称的特点

5.掌握运用控件数组的编程方法。

实验6.1一维数组

实验任务:

编程随机产生10个任意的两位正整数,并把它们保存在数组a(1 To 10)中,要求输出数组中所存放的10个数值,如图6-1所示。

87

图6-1 实验6.1的实验结果

提示:可以根据Rnd函数的取值范围来确定如何随机产生两位正整数。

实验6.2二维数组

实验任务:

编程用InputBox函数输入一个二维数组(矩阵),并在窗体上按如图6-2所示的标准格式输出每行中最大的元素。

图6-2 二维数组的输出

提示:

1.输入时InputBox上的提示信息要表明

88

当前输入的是矩阵中的哪一个元素(动态显示方法),如图6-3所示。

图6-3 输入框

2.数组输入和输出,一般情况下都要使用两重循环结构。外面一重循环对应于行的变化,里面一重循环对应于列的变化(列的变化比行的变化快)。标准输出方式是在Picture1.Print 语句的输出项之间用逗号间隔,输出时要产生3行 4列的效果,还应该在两重循环之间添加一个无参数的Picture1.Print语句,用来换行。求每行的最大值也需要通过双重循环实现。

实验步骤:

1.完善代码

89

Option Explicit

Private Sub Form_Click()

Dim a(4, 3) As Integer, i As Integer, j As Integer

Dim max As Integer

For i = 1 To 4

For j = 1 To 3

a(i, j) = InputBox("请输入矩阵的第(" & i & "," & j & ")元数", "输入矩阵元数")

Picture1.Print a(i, j),

Next j

Next i

For i = 1 To 4

For j = 2 To 3

If max < a(i, j) Then

90

Next j

Picture1.Print "第" & i & "行最大的是:"; max

Next i

End Sub

2.保存文件,调试运行。

思考:如果要求显示每行最大元素的行列位置,应如何修改代码。

实验6.3判断完数

实验任务:

已知一个数如果恰好等于它的因子之和,这个数就被称为“完数”。一个数的因子是指除了该数本身以外能够被其整除的数。例如6是一个完数,因为6的因子是1,2,3,而且6=1+2+3。要求编程对于任意输入的一个数,能够判断出该数是否是完数,并对不同结果进行输出;单击“输入下一个数”时,要清除文

91

本框和图片框中的内容,并且光标在文本框中闪烁。

提示:可以将输入的数的因子逐个求出,放到数组中,并对因子进行累加,若为完数或不是完数结果输出如图6-4所示。因为无法预知因数的个数,所以要使用动态数组。

92

93 图6-4 运行结果界面

实验步骤:

1.窗体布局,在窗体上摆放Label、TextBox、Frame、PictureBox(用于显示结果)各一个,在将三个CommandButton拖放到窗体上,具体布局参见图6-4。

2.完善代码

Private Sub CmdJudeg_Click()

Dim m As Integer, i As Integer, j As Integer, k As Integer

Dim a()

m = Text1.Text

ReDim a(1) '重定义数组

a(1) = 1

‘k = 1

j = 1

For i = 2 To ‘ m - 1

If m Mod i = 0 Then

k = k + i '因数和

j = j + 1 '因数个数

ReDim Preserve a(j) '重定义数组,且保留原有数据

a(j) = i '将因数保存在数组中

End If

Next i

94

If m = k Then

Picture1.Print m & "是完数,因为"

Picture1.Print m; "=";

For i = 1 To UBound(a) - 1 'UBound(a)求数组上界函数

Picture1.Print a(i); "+";

Next I

Picture1.Print a(i) '输出最后一个因数

Else

Picture1.Print m & "不是完数"

End If

End Sub

Private Sub CmdExit_Click()

Unload Me

End Sub

95

Private Sub CmdNext_Click()

Picture1.Cls '清除图片框中内容

Text1.Text = ""

‘Text1.SetFocus

End Sub

3.保存文件,调试运行。

思考:如何修改程序求出1000以内的所有“完数”并将结果存入一个文件?试一试。

实验6.4成绩统计

实验任务:

编程随机产生32个学生的计算机课程的成绩存放数组Mark(1 To 32)中,统计各分数段50~59、60~69、70~79、80~89、90~100的人数n以及求出最高分max和最低分min。结果输

96

出要求:32名学生的成绩按每行8个显示在窗体上,第5行显示最高分和最低分,并以同样输出格式将结果存放于顺序文件out.dat中。

提示:统计各分数段的人数,可以利用数组下标来实现。

实验6.5计算天数

实验任务:

编程任意输入一个日期,即可计算出这个日期是一年中的第几天。

提示:一年中的每一个月天数是一定的,只有闰年时,2月份是29天,所以要对输入的年份进行闰年判断。另外,每月的天数可以事先赋值到数组中,但是用InputBox从键盘接受多个固定数据很不方便,VB中又没有给数组赋初值的语句。为解决这一问题,采用将初值放在ListBox中,运行时用代码将ListBox中的数据给数组赋初值。

97

闰年算法是年份能被4整除同时不能被100整除,或者年份能被100整除同时能被400整除,这一年就是闰年,是闰年就用一个标签框表示出来。将闰年和非闰年的1~12月份的天数分为两组,放置在两个ListBox中,定义一个两维数组mtable(2,12),第一维作为闰年标致,第二维作为月份天数。两个ListBox在运行时不显示出来,见图6-6。对于固定1到12个月和1到31天这些数字,将它们放在两个组合框中便于选择。

实验步骤:

1.窗体布局设计如图6-5所示。

图6-5 计算天数窗体布局

98

99

图6-6 计算天数运行界面

2.部分控件属性设置

控件名称属性名称属性值

组合框1

Name CmbMonth

Text 1

List 1 2 3 4 5 6 7 8 9

10 11 12

Style 0

组合框2

Name CmbDay

Text 1

List 1 2 3 4 5 6 7

8 ......30 31

Style 0

列表框1

List 31 28 31 30 31 20

31 31 30 31 30 31 Visible False

列表框2

List 31 29 31 30 31 20

31 31 30 31 30 31 Visible False

闰年显示标签框

Name LabLeap Caption 闰年Font 斜体4号字Visible False

3.添加代码

Option Base 1 ’数组下标从1开始

Private Sub CmdCountdays_Click()

Dim days As Integer, i As Integer, leap

100

As Integer

Dim mtable(2, 12) As Integer

For j = 1 To 12

mtable(1, j) = List1.List(j - 1) ’将非闰年的月份天数赋给数组

Next j

For j = 1 To 12

mtable(2, j) = List2.List(j - 1) ’将闰年的月份天数赋给数组

Next j

leap = 1 ’标志闰年的变量赋初值1

If (TxtYear Mod 4 = 0 And TxtYear Mod 100 <> 0 Or TxtYear Mod 400 = 0) Then

leap = 2 ’闰年则标志变量值变为2

LabLeap.Visible = True ’闰年标签出现

101

End If

days = CmbDay.Text

For i = 1 To CmbMonth.Text - 1

days = days + mtable(leap, i) ‘闰年标志作变量为下标变量

Next i

TxtDays.Text = days

End Sub

Private Sub TxtYear_Change()

LabLeap.Visible = False ' 输入年份时,闰年标签隐藏

End Sub

Private Sub CmdExit_Click()

Unload Me

End Sub

102

4.保存文件,调试运行。随机输入四位数的不同年份,仔细体验各种控件、属性、事件的作用;深刻理解leap变量的作用。

实验6.6字符数组

实验任务:

编程随机产生15个不重复的英文大写字母,存放在字符数组中并显示出来。

提示:

1.可以利用函数Rnd和Chr使得随机产生数值可转变为字符。

2.每产生一个新的字符要与已经存在的字符逐一比较,非重复字符方可存入。

实验6.7数值排序

实验任务:

编程产生10个二位随机整数,按升序排列。

提示:假设在数组A中存放N个无序数据,要求将这N个数按升序重新排列。

103

第一轮比较:将A(1)和A(2)比较,若A(1)>A(2)则交换这两个数组元素的值,否则不交换;然后再用A(2)和A(3)比较,处理方法相同;??以此类推,直到A(N-1)和A(N)比较后,这时A(N)中就存放了N 个数中最大的数。

第二轮比较:将A(1)和A(2)、A(2)和A(3),??,A(N-2)和A(N-1)比较,处理方法和第一轮相同,这一轮比较结束后A (N-1)中就存放了N个数中第二大的数。

第N-1轮比较:将A(1)和A(2)进行比较,处理方法同上,比较结束后,这N个数按从小到大的次序排列好。

这种排序方法较冒泡排序,它与选择排序法的不同之处在于:选择排序法每一轮比较是拿固定位置的数组元素和其后的若干数组元素依次比较;而冒泡排序法则是将相邻的两个数组元素进行比较,实现上类似但不完全相同。

104

实验步骤:

1.完善代码

Private Sub Form_click()

Dim rndArray(10) As Integer

Dim i As Integer,j As Integer,temp As Integer

Randomize ’随机语句

Print "排序前:"

For i = 1 To 10

rndArray(i) = Int(90 * Rnd + 10) ’Rnd随机函数

Print rndArray(i);

Next i

For i = 1 To _____________

For j = ______ To _____________

105

C语言实验报告参考答案(原)

C语言实验报告参考答案 实验一熟悉C语言程序开发环境及数据描述 四、程序清单 1.编写程序实现在屏幕上显示以下结果: The dress is long The shoes are big The trousers are black 答案: #include<> main() { printf("The dress is long\n"); printf("The shoes are big\n"); printf("The trousers are black\n"); } 2.编写程序: (1) a=150,b=20,c=45,编写求a/b、a/c(商)和a%b、a%c(余数)的程序。 (2)a=160,b=46,c=18,d=170, 编写求(a+b)/(b-c)*(c-d)的程序。 答案: (1) #include<> 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); } (2) #include<> main() { int a,b,c,d; float x; a=160; b=46; c=18; d=170; x=(a+b)/(b-c)*(c-d);

printf("(a+b)/(b-c)*(c-d)=%f\n",x); } 3. 设变量a的值为0,b的值为-10,编写程序:当a>b时,将b赋给c;当a<=b时,将0赋给c。(提示:用条件运算符) 答案: #include<> main() { int a,b,c; a=0; b=-10; c= (a>b) b:a; printf("c = %d\n",c); } 五、调试和测试结果 1.编译、连接无错,运行后屏幕上显示以下结果: The dress is long The shoes are big The trousers are black 2、(1) 编译、连接无错,运行后屏幕上显示以下结果: a/b的商=7 a/c的商=3

数组程序设计实验报告

计算机科学与技术学院 程序设计报告 程序名称:数组程序设计 专业:计算机科学与技术 班级:计算机1103班 学号: 姓名: 指导老师: 设计日期:2011年11月26日

数组程序设计 题目: 编写一个程序,其功能如下:输入n(n<50)个学生的姓名和C语言课程的成绩,将成绩按从高到低的次序排序,姓名同时作相应的调整,输出排序后的学生姓名和C语言课程的成绩。然后输入一个C 语言课程成绩值,用二分法查找进行搜索。如果查找到该成绩,输出该成绩同学的姓名和C语言课程的成绩;否则输出提示“not found !”. 程序源代码: #include #include #define n 3 void main() { int i,j,k,t,x,a[n]; int top=0,bottum=n-1,mid; char b[n][10],str[10],c[20]; for(i=0;i

printf("input the name of the %dth student:",i+1); gets(b[i]); printf("input the score of the C language:"); scanf("%d",&a[i]); printf("\n"); gets(c); } for(i=0;i

C语言实验报告(五-数组2)

华北水院高级语言程序设计(C语言)实验报告(五) 2015--2016学年第二学期 2015级专业:学号:姓名:……………………………………………………………………………………………… 一、实验题目:数组(2) 二、实验目的:(略) 三、实验内容 1.有一个数值从小到大排好顺序的数组,要求从键盘输入一个数,将该数插入数组后,数组中的数仍按从小到大有序。例如,数组中原来的顺序为{1,5,11,16,18,21},从键盘输入一个数15,将其插入到该数组后,数组中数的顺序为{1,5,11,15,16,18,21} 源代码:运行结果: #include #include void main () {int a[20]; int i,t,j=0; printf("请输入数字组"); for (t=0;t<6;t++) {scanf("%d",a[t]);}; printf("请输入插入数字"); scanf("%d",&i); for (t=0;i

#include #include void main () {int xh[20]; int cj[20]; int i,j,k,m,sum=0; double b; printf("请输入学号"); for (i=0;i<10;i++) scanf("%d",&xh[i]); printf("请输入学号的成绩"); for (i=0;i<10;i++) scanf ("%d",&cj[i]); for (i=0;i<9;i++) {k=i; for (j=i+1;j<10;j++) {if (cj[k]

程序设计实验报告

学生实验报告 院系:测绘学院 专业班级:测绘13级3班 学号:2013305517 学生姓名:王泽 指导教师:郭辉老师 2016年05月20日

安徽理工大学实验报告 实验课程名称:数据结构与软件开发上机实验 开课院系及实验室:测绘学院红楼二楼机房 实验1 编程基本知识练习 实验目的: 通过该实验课内容的练习,学生应掌握VB 编程的基本语法、变量的定义、数组(动态数组)的定义、VB 语言中子过程与函数的定义以及文本文件的读写等知识。 实验内容: 1)变量的定义动态数组的定义与应用; 2)矩阵的加、减、乘运算(定义Sub()子过程或Function()来实现); 3)数据文件的建立、数据的读取与写入。 实验步骤: 1.编辑界面 1.1 打开VB 编程工具,进入编程主界面。

1.2 在窗体上新建“读入数据”和“输出数据”两个按钮。 1.3 双击“窗体”进入代码输入界面,进行代码编辑。 2.用VB 编写的源代码 2.1 矩阵基本运算源码详见附录一。 (1)两矩阵相加 (2)两矩阵相减 (3)矩阵转置 (4)两矩阵相乘 (5)矩阵求逆 2.2 文本文件(本实验中data.txt)的读取源代码 (1)建立文本文件并输入数据 在桌面上新建一“data.txt” ( 文本文件路径为C:\Users\ WH\Desktop\练习\data.txt”)。输入以下内容: 6,7,4,0.005 A,35.418 B,45.712 C,25.270

D,24.678 在桌面上新建一“result.txt” ( 文本文件路径为C:\Users\ WH\Desktop\练习\result.txt”)。(2)从文本文件中读数据 Dim linedata as string, m_GaochaN as integer,m_Pnumber as integer,m_knPnumber as integer,M as Double,k1 as integer 'linedata 为存储文本文件一行信息的字符串变量 Dim a() as String,H() as Double 'a()为存储点名,H()存储高程 Open“C:\Users\ WH\Desktop\练习\data.txt”For Input As #1 Line Input #1, linedata k = Split(linedata, ",") m_GaochaN = Val(k(0)) m_Pnumber = Val(k(1)) m_knPnumber = Val(k(2)) M = CDbl(k(3)) For k1 = 1 To m_knPnumber Line Input #1, linedata k = Split(linedata, ",") a(k1)= k(0) GetstationNumber (a) H(k1) = CDbl(k(1)) Next Close #1 (3)将读入点名存储到点名数组中,且返回该点名所对应编号 Function GetstationNumber(name As String) Dim i As Integer For i = 1 To m_Pnumber If P_Name(i) <> "" Then '将待查点名与已经存入点名数组的点比较 If P_Name(i) = name Then GetstationNumber = i Exit For End If Else '待查点是新的点名,将新点名放到P_Name 数组中 P_Name(i) = name GetstationNumber = i Exit For End If Next i End Function (4)从文本文件中写数据(将从data.txt 读入的数据,写入到result.txt 文件中) Open“C:\Users\ WH\Desktop\ 练习\result.txt” For Output As #1 outstring = outstring + str(m_GaochaN) +","

实验六 一维数组程序设计

实验六一维数组程序设计 一、实验学时 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"); for(i=0; i<4; i++) printf("%d ",a[i]);

Java语言程序设计实验四 方法及数组实验报告

**大学 Java语言程序设计实验报告

四、实验步骤: 1: import java.util.Scanner; public class sy41 { public static void main(String[] args) { // TODO Auto-generated method stub int t,bbk=0; int []a; a=new int[10]; Scanner chm=new Scanner(System.in); System.out.println("请输入十个数"); for(int i=0;i<10;i++) { a[i]=chm.nextInt(); } System.out.println("请输入要找的数"); t=chm.nextInt(); for(int j=0;j<10;j++) { if(t==a[j]) bbk=1; } if(bbk==1) System.out.println("有"); else System.out.println("无"); } } 2: package syyyy; import java.util.*; class first {

System.out.println("输出排序前"); f.printarray(a); f.sort(a); System.out.println("输出排序后"); f.printarray(a); f.delelement(a, 2); System.out.println("输出删除第2个数后"); f.printarray(a); } } 3): import java.util.Scanner; public class syyyyyyyy43 { /** * @param args */ public static void main(String[] args) { // TODO Auto-generated method stub Scanner bbk=new Scanner(System.in); System.out.println("请输入一个十进制数:"); int a=bbk.nextInt(); int pok=a/2; int shu[]=new int [pok+1]; if(pok<3000){ if(a%2==0){ shu[0]=1; System.out.print(shu[0]); for(int i=1;i

C语言程序设计实验报告(数组)

C语言程序设计实验报告(数组) 1实验目的 (1)熟练掌握一维数组,二维数组的定义,初始化和输入、输出方法; (2)熟练掌握字符数组和字符串函数的使用; (3)掌握与数组有关的常用算法(查找、排序等)。 2实验内容 编写函数catStr(char str1[],char str2[])用于进行两个字符串的连接,编写函数lenStr(char str[])用于统计一个字符串的长度,并在主函数中调用。 要求: 1、不允许用strcat()和strlen()字符处理库函数; 2、在主函数以直接初始化的方式输入两个字符串str1和str2.调用函数 strlen()计算并返回两个字符串的长度; 3、调用函数catstr()连接两个字符串(将str2连接在str1后面); 4、调用函数lenstr()计算并返回连接后字符串的长度; 5、在主函数中输入两个原始的字符串及几个字符串的长度,以及处理后字 符串及其长度。

3算法描述流程图

4源程序 #include #include void catStr(char str1[],char str2[]) { int i,j; for (i=0;str1[i]!='\0';i++); for(j=0;str2[j]!='\0';j++) str1[i+j]=str2[j]; str1[i+j]='\0'; } lenStr(char m[] ) {int i;

for (i=0;m[i]!='\0';i++); printf("%d",i); } void main() {char s1[50]="forever",s2[50]="more"; printf("s1=%s,s2=%s",s1,s2); printf("\ns1的长度:"); lenStr(s1); printf("\ns2的长度:"); lenStr(s2); catStr(s1,s2); printf("\n连接后的字符:"); printf("%s\n",s1); printf("连接后字符的长度:"); lenStr(s1); printf("\n"); } 5测试数据 s1=forever, s2=more 6运行结果 7出现问题及解决方法 在输入程序时,少写了半边引号,调试时发现存在错误,找到了错误并加以改正。无论什么事,细心都是必不可少的,认真是解决问题的关键。 8实验心得 通过本次实验,对于函数的定义和声明,数组以及循环语句有了进一步的认识,掌握了字符数组和字符串函数的使用,以及与数组有关的常用算法。此次实验不是调用strlen()和strcat()函数,而是通过自己设计程序来进行字符串的连接以及计量字符串的长度,由此我学会了如何去理清自己的思路来设计程序。

C语言指针实验报告

C语言程序设计实验报告 1实验目得 (1)掌握指针得概念,会定义与使用指针变量; (2)能正确使用变量得指针与指向变量得指针变量; (3)能正确使用数组得指针与指向数组得指针变量; (4)能正确使用字符串得指针与指向字符串得指针变量; 2实验内容 将一个任意整数插入到已排序得整形数组中,插入后,数组中得数仍然保持有序; 要求: (1)整形数组直接由赋值得方式初始化,要插入得整数有scanf()函数数入; (2)算法实现过程采用指针进行处理; (3)输入原始数据以及插入整数后得数据,并加以说明;

3算法描述流程图

4源程序 #include main() { int a[100],m,i,*p,n,w; printf("请输入要输入得数组得元素个数:\n"); scanf("%d",&n); printf("请输入已排好序得数组:\n"); for(i=0;i=w;i--) { a[i+1]=a[i]; } a[i+1]=m; for(i=0;i<=n;i++) { printf("%-4d",a[i]); } printf("\n"); } 5测试数据 “1,3,5,7,9,11,13,15,17,19······10” 6运行结果 7出现问题及解决方法 在编写过程中,

for(i=n-1;a[i]>=w;i--) { a[i+1]=a[i]; } a[i+1]=m; 这一步没有注意a[i++]=m与a[i+1]=m中i++与i+1不同,a[i++]=m就是先将得值赋给a[i],然后在执行自增;而在实验过程中忽略了这一点,造成了不必要得麻烦; 8实验心得 通过这次指针实验掌握了指针得概念,会定义与使用指针变量,并且能利用指针来简单化一些问题,给以后得编程带来了很大得便利;

C语言程序设计实验报告

《C程序设计》实验教学大纲 一、适用范围 大纲适用信息管理专业本科教学使用。 二、课程名称 C程序设计 三、学时数与学分 总学时:90 总学分: 4 实验学时:28 实验学分:1 四、教学目的和基本要求 目的:通过C程序设计实验,培养学生对学习程序设计的兴趣,加深对讲授内容的理解,尤其是通过上机来掌握语法规则,使学生全面了解 C 语言的特点,熟练掌握C 语言程序设计的基本方法和编程技巧。 基本要求:了解和熟悉C语言程序开发的环境;学会上机调试程序,善于发现程序中的错误,并且能很快地排除这些错误,使程序能正确运行,达到实验知识和理论知识的融会贯通。上机实验前,学生必须事先根据题目的内容编好程序,然后在实验时输入程序、调试程序、直至运行结果正确为止,上机结束后,应整理出实验报告。 注:带*的实验项目为选做实验项目 六、教材、讲义及参考书 《C程序设计题解与上机指导》谭浩强主编清华大学出版社 七、实验成绩评定办法 实验成绩=平时实验表现+实验报告。实验成绩占总成绩的20%。 实验成绩以等级形式给出,评定等级分优、良、中、及格、不及格五类。 1、平时考核:上机实验前,学生必须事先根据题目的内容编好程序,然后在实验时输入程序、调试程序、直至运行结果正确为止。在实验中,教师可根据学生编程操作能力、观察和分析及运用知识能力、程序编制正确性以及学生的课堂纪律、实验态度、保持实验室卫生等方面的表现进行综合考核。

2、实验报告:学生实验后应按时完成实验报告。 八、实验教学大纲说明 本大纲共安排28学时的实验,其中带*号实验项目为选做实验项目,实际课时为18学时。实验项目多为设计性实验项目,每个设计性实验项目中都包含数个小的设计性题目,其中带*号的题目为选做题目,有时间和有能力的同学可以选做。 九、实验项目 实验一 C程序的运行环境和运行一个C程序的方法 一、实验目的 1.了解Visual C++编译系统的基本操作方法,学会独立使用该系统。 2.了解在该系统上如何编辑、编译、连接和运行一个C程序。 3.通过运行简单的C程序,初步了解C源程序的特点。 二、实验内容 1.用编辑程序,输入教材第一章例程序,并进行编译和运行。应了解所用的系统是用什么命令进行编译和连接运行的。编译和连接后所得到的目标程序的后缀是什么形式的 2.编写一个C程序,输出以下信息: **************************** very good! **************************** 3.输入并运行教材第一章中例,了解如何在运行时向程序变量输入数据。 实验二数据类型、运算符和表达式 一、实验目的 1.掌握C语言数据类型,熟悉如何定义一个整型、字符型、实型变量,以及对它们赋值的方法,了解以上类型数据输出时所用格式转换符。 2.学会使用C的有关算术运算符,以及包含这些运算符的表达式,特别是自加(++)和自减(--)运算符的使用。 二、实验内容 1.输入并运行以下程序: main( ) { char c1,c2; c1=97;c2=98; printf(“%c %c\n”,c1,c2); printf(“%d %d\n”,c1,c2); } 在此基础上 ①将第三行、第四行改为: c1=321;c2=353; 再使之运行,分析其运行结果。 ②将第二行改为: int c1,c2; 再使之运行,分析其运行结果。。 2.输入并运行以下程序: main( ) {int i=8,j=10,m,n; m=++i;n=j++;

实验 6-3 数组

实验6-3 数组(三) 1 【实验目的】 (1)掌握字符数组的定义、赋值和输入输出的方法 (2)掌握字符数组和字符串函数的使用 (3)掌握数组的基本操作和排序算法 【实验要求】 (1)熟悉掌握字符数组的定义、赋值和输入输出方法 (2)掌握字符数组和字符串函数的使用 (3)掌握数组的增加元素和删除元素的操作 (4)掌握数组的排序算法(比较、选择和冒泡三种算法,要求至少会一种) 【实验环境】 (1) Microsoft XP操作系统 (2) Microsoft VC++ 6.0 【实验内容】 1、Palindromes_easy version https://www.doczj.com/doc/fd8401164.html,/acmhome/problemdetail.do?&method=showdetail&id=1384 描述 “回文串”是一个正读和反读都一样的字符串,比如“level”或者“noon”等等就是回文串。请写一个程序判断读入的字符串是否是“回文”。

输入 输入包含多个测试实例,输入数据的第一行是一个正整数n,表示测试实例的个数,后面紧跟着是n个字符串,每个字符串的长度不超过30。 输出:如果一个字符串是回文串,则输出"yes",否则输出"no". 样例输入: 4 level abcde noon haha 样例输出: yes no yes no 2、分割整数https://www.doczj.com/doc/fd8401164.html,/acmhome/problemdetail.do?&method=showdetail&id=1173 描述:从键盘输入一个长正整数(不超过10位),从高位开始逐位分割并输出。 输入:正整数n,不含前导零。 输出:分割的整数序列,各整数之间用空格格开。注意,最后一个数字后面没有空格! 样例输入:654321 样例输出:6 5 4 3 2 1

C++上机实验报告实验四

实验四数组、指针与字符串 1.实验目的 1.学习使用数组 2.学习字符串数据的组织和处理 3.学习标准C++库的使用 4.掌握指针的使用方法 5.练习通过Debug观察指针的内容及其所指的对象的内容 6.联系通过动态内存分配实现动态数组,并体会指针在其中的作用 7.分别使用字符数组和标准C++库练习处理字符串的方法 2.实验要求 1.编写并测试3*3矩阵转置函数,使用数组保存3*3矩阵。 2.使用动态内存分配生成动态数组来重新完成上题,使用指针实现函数的功能。 3.编程实现两字符串的连接。要求使用字符数组保存字符串,不要使用系统函数。 4.使用string类定义字符串对象,重新实现上一小题。 5.定义一个Employee类,其中包括姓名、街道地址、城市和邮编等属性,以及change_name()和display()等函数。Display()显示姓名、街道地址、城市和邮编等属性,change_name()改变对象的姓名属性。实现并测试这个类。 6.定义包含5个元素的对象数组,每个元素都是Employee类型的对

象。 7. (选做)修改实验4中的选做实验中的people(人员)类。具有的属性如下:姓名char name[11]、编号char number[7]、性别char sex[3]、生日birthday、身份证号char id[16]。其中“出生日期”定义为一个“日期”类内嵌对象。用成员函数实现对人员信息的录入和显示。要求包括:构造函数和析构函数、拷贝构造函数、内联成员函数、聚集。在测试程序中定义people类的对象数组,录入数据并显示。 3.实验内容及实验步骤 1.编写矩阵转置函数,输入参数为3*3整形数组,使用循环语句实现矩阵元素的行列对调,注意在循环语句中究竟需要对哪些元素进行操作,编写main()函数实现输入、输出。程序名:lab6_1.cpp。 2.改写矩阵转置函数,参数为整型指针,使用指针对数组元素进行操作,在main()函数中使用new操作符分配内存生成动态数组。通过Debug观察指针的内容及其所指的对象中的内容。程序名:lab6_2.cpp。 3.编程实现两字符串的连接。定义字符数组保存字符串,在程序中提示用户输入两个字符串,实现两个字符串的连接,最后用cout语句显示输出。程序名:lab6_3.cpp。用cin实现输入,注意,字符串的结束标志是ASCII码0,使用循环语句进行字符串间的字符拷贝。

C语言实验报告《数组》.doc

《c语言程序设计》课程实验报告 ≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡篇二:c语言实验报告本(数组函数) 《c语言程序设计》 实验报告 2009~2010学年第二学期 专业 班级 姓名 学号 任课教师 计算机教学实验中心 2010年 5 月 《c语言程序设计》实验报告( 1 ) 学号:姓名:班级:成绩: 任课教师签名: 《c语言程序设计》实验报告( 2 ) 学号:姓名:班级:成绩: 任课教师签名:篇三:c语言实验报告数组 实验报告 实验课程名称高级c语言程序设计 实验项目名称数组 年级 09 级 专业数学 学生姓名李军 学号 0907010170 理学院 实验时间: 2010 年 4 月 22 日 学生实验室守则 一、按教学安排准时到实验室上实验课,不得迟到、早退和旷课。 二、进入实验室必须遵守实验室的各项规章制度,保持室内安静、整洁,不准在室内打闹、喧哗、吸烟、吃食物、随地吐痰、乱扔杂物,不准做与实验内容无关的事,非实验用品一律不准带进实验室。 三、实验前必须做好预习(或按要求写好预习报告),未做预习者不准参加实验。 五、实验中要节约水、电、气及其它消耗材料。 六、细心观察、如实记录实验现象和结果,不得抄袭或随意更改原始记录和数据,不得擅离操作岗位和干扰他人实验。 七、使用易燃、易爆、腐蚀性、有毒有害物品或接触带电设备进行实验,应特别注意规范操作,注意防护;若发生意外,要保持冷静,并及时向指导教师和管理人员报告,不得自行处理。仪器设备发生故障和损坏,应立即停止实验,并主动向指导教师报告,不得自行拆卸查看和拼装。 八、实验完毕,应清理好实验仪器设备并放回原位,清扫好实验现场,经指导教师检查认可并将实验记录交指导教师检查签字后方可离去。 九、无故不参加实验者,应写出检查,提出申请并缴纳相应的实验费及材料消耗费,经

C语言数组与循环结构程序设计实验报告

实验报告 课程名称程序设计基础 实验项目数组与循环结构程序设计(一) 实验仪器计算机 系别计算机学院 专业 班级/学号 学生姓名 实验日期 2014.12.4 成绩 指导教师

实验三 一、实验目的 (1)熟悉掌握用while语句、do…while语句和for语句实现循环的方法。 (2)掌握在程序设计中用循环的方法实现一些常用算法。 (3)进一步学习调试程序。 二、实验内容 (1)输入一行字符,分别统计出其中英文字母、空格、数字和其他字符的个数。 在得到正确结果后,请修改程序使之能分别统计大小写字母、空格、数字和其他字符的个数。 (2)输出所有的“水仙花数”,所谓“水仙花数”是指一个3位数,其各位数字立方和等于该数本身。例如,153是一个水仙花数,因为153=13+53+33。 (3)猴子吃桃问题。猴子第一天摘下若干个桃子,当即吃了一半,还不过瘾,又多吃了一个。第二天早上又将剩下的桃子吃掉一半,又多吃了一个。以后每天早上都吃了前一天剩下的一半零一个。到第10天早上想再吃时,就只剩一个桃子了。求第一天共摘多少个桃子。 在得到正确结果后,修改题目,改为猴子每天吃了前一天剩下的一半零两个。请修改程序并运行,检查结果是否正确。 三、实验课时 2课时 四、实验步骤(20分) (1).先分析题目,想一个能达成目标的算法,然后打开vc6.0开始打码,等到完成后先编译看是否有错误,若有则查看软件给出的提示再进行修改,直到成功再运行程序并输入数字检验,看是否正确,不正确则返回代码再修改直到结果正确,最后截图完成实验。 (2).分析题目初步确定算法,然后打开vc6.0开始打码,注意格式,防止犯错误,代码打好后F7查看是否正确,不正确则修改,正确则开始运行,验证输出是否正确,错误则返回修改,否则完成实验。 (3).分析题目初步确定算法,打开VC6.0,新建文件C++SF,输入代码,运行,

实验六 一维数组实验报告

*** 软件类实验报告 课程名称:C语言程序设计学号: 姓名: 班级: 指导教师: 开课学期: 学院: ***教务处

⑷一维数组排序。 四、实验过程及内容:(运行结果请抓图到对应题目的下方) 1. 先分析以下程序,写出运行结果,再上机检验。 2.程序填空题。下面程序的功能是9个评委给某个参赛选手打分,去掉一个最高分和一个最低分,求该参赛选手的平均分。填空完成程序。

实验结果: 3. 程序填空题。有数列1,1,2,4,7,13,24…,该数列的规律是从第4项起,每项是它的前三项之和。下列程序的功能是将该数列的前30项存放在一维数组中,输出时每行输出5个数。填空完成程序。 实验结果: 4. 程序改错题。下面程序的功能是将数组中的数按从大到小排序后输出。改正程序中的错误。 实验结果: 5. 程序改错题。某公司从用公用电话传递数据,数据是四位的整数,在传递过程中需要加密,加密规则为每位数字都加上5,然后用和除以10的余数代替该数字,再将第一位和第四位交换,第二位和第三位交换。改正程序中的错误。

实验结果: 6. 小楚参加了一个研究生考试培训班,共30次课,由于路途较远,每次都是打车去上课,来回的车费分别存储在数组a和b中,其中-1表示未去上课。 编程计算小楚参加培训班共打车花费多少钱?(要求保留1位小数,用循环实现) 输出结果的形式为: s=1234.5 a数组和b数组定义如下: double a[30]={31.0,32.0,30.3,32.8,30.5,30.6,31.0,32.8,-1,31.8,31.9,31.5,32.3,32.3,31.8,32.5 ,31.5,30.3,30.4,32.5,30.2,30.2,30.7,32.1,32.1,31.4,31.9,31.9,-1,30.5}; double b[30]={30.2,30.2,30.3,31.6,32.7,31.5,30.4,32.4,-1,31.0,31.8,32.1,31.6,31.4,32.4,32.1 , 32.5,32.3,32.5,31.4,31.2,30.3,32.3,30.7,31.3,30.2,31.1,30.5,-1,31.9}; 五、实验小结

C语言数组实验报告

深圳大学实验报告课程名称:程序设计基础 实验项目名称:数组 学院:光电工程学院 专业:光电信息科学与技术 指导教师:杨艳丽 报告人:温宏宇学号:2015170174班级:4班 实验时间:2016-5-12 实验报告提交时间: 教务处制

程序核心代码: #include void main() { int a[11]; int i, j, t, p, number; printf("Input 10 numbers:\n"); for (i = 0; i<10; i++) scanf("%d", &a[i]); for (i = 0; i<9; i++) for (j = 0; j<9 - i; j++) if (a[j]>a[j + 1]) { t = a[j]; a[j] = a[j + 1]; a[j + 1] = t; } printf("The sorted numbers:\n"); for (i = 0; i<10; i++) { printf("%d ", a[i]); } 2.程序分析: #include void main() { int a[11]; int i, j, t, p, number; printf("Input 10 numbers:\n"); for (i = 0; i<10; i++) scanf("%d", &a[i]); for (i = 0; i<9; i++) for (j = 0; j<9 - i; j++) if (a[j]>a[j + 1]) { t = a[j]; a[j] = a[j + 1]; a[j + 1] = t; } printf("The sorted numbers:\n"); for (i = 0; i<10; i++) { printf("%d ", a[i]); }

C#程序设计实验报告

学生实验报告 (理工类) 课程名称: C#程序设计专业班级:M11计算机科学与技术(专转本)学生学号: XXXXXXXX 学生姓名: XXX 所属院部:信息技术学院指导教师: XXX 2012 — 2013学年第 1 学期 金陵科技学院教务处制

实验报告书写要求 实验报告原则上要求学生手写,要求书写工整。若因课程特点需打印的,标题采用四号黑体,正文采用小四号宋体,单倍行距。纸张一律采用A4的纸张。 实验报告书写说明 实验报告中实验目的和要求、实验仪器和设备、实验内容与过程、实验结果与分析这四项内容为必需项。教师可根据学科特点和实验具体要求增加项目。 填写注意事项 (1)细致观察,及时、准确、如实记录。 (2)准确说明,层次清晰。 (3)尽量采用专用术语来说明事物。 (4)外文、符号、公式要准确,应使用统一规定的名词和符号。 (5)应独立完成实验报告的书写,严禁抄袭、复印,一经发现,以零分论处。 实验报告批改说明 实验报告的批改要及时、认真、仔细,一律用红色笔批改。实验报告的批改成绩采用五级记分制或百分制,按《金陵科技学院课堂教学实施细则》中作业批阅成绩评定要求执行。 实验报告装订要求 实验批改完毕后,任课老师将每门课程的每个实验项目的实验报告以自然班为单位、按学号升序排列,装订成册,并附上一份该门课程的实验大纲。

实验项目名称:C#基础编程实验学时: 6 同组学生姓名:实验地点: A205 实验日期: 9月17日-9月24日实验成绩: 批改教师:批改时间:

实验1 C#基础编程 一、实验目的 1、熟悉Visual Studio .NET开发环境; 2、掌握C#应用程序的基本操作过程; 3、掌握C#的数据类型,运算符以及表达式的使用; 4、掌握分支和循环语句的使用方法; 5、掌握一维数组,二维数组及数组型数组的使用。 二、实验要求 (1)编写程序要规范、正确,上机调试过程和结果要有记录; (2)做完实验后给出本实验的实验报告。 三、实验设备、环境 安装有Visual Studio .NET软件。 四、实验步骤 1、分析题意; 2、根据题目要求,新建项目; 3、编写并输入相关的程序代码; 5、运行与调试项目; 6、保存项目。 五、实验内容 1、编写一个简单的控制台应用程序,打印一行文字(如你的姓名)。using System; using System.Collections.Generic; using System.Text; namespace Test1_1 { class Program { static void Main(string[] args) { Console.WriteLine("1121412016 张明星!"); Console.ReadLine(); } } } 2、编写一个简单的Windows应用程序,在标签中显示你的姓名。 Form窗体的代码: using System; using System.Collections.Generic;

C语言数组实验报告

实验名:数组 一、实验目的 1、掌握数组定义的规则。 2、掌握C语言数组的基本用法。 二、实验内容 ) 题目1 1、编写程序,测试下列数组的定义方式是否正确 (1) main() { int n; scanf(“%d”,&n); int a[n]; …… } (2) main() { const int n=10; int a[n]; } (3) #include #define M 10 main() { int a[M]; } (4) main() { int a[2+2*4]; } (5) #include #define M 2 #define N 8 main() { int a[M+N]; } 通过这一实验,可以说明什么问题? 2、输入和输出信息描述及数据类型确定; 、输入数据 序号输入数据描述数据类型

(1)n,a[n] int (2)n a[n] cons tint int (3)a[M]或a[10] int (4)a[2+2*4] int (5)a[M+N] int 3、程序调试 错误序号错误信息(列出出错语句以及出 错提示) 是否 解决 解决方法 (1-1)main.c|5|error: expected expression before '%' token| scanf(“%d”,&n);是将%d两边的符号改为西文字符的引号scanf("%d",&n); (1-2)main.c|6|warning: unused variable 'a' [-Wunused-variable]| int a[n]; 是将前面的n的输入去掉,把n改为具体数字 (5) main.c|6|warning: unused variable 'a' [-Wunused-variable]| int a[M+N]; 是加上个scanf(“%d”,&a[M+N]); 4、相关问题回答 通过这一实验,可以说明什么问题? 1、(2)(3)(4)(5)对,(1)错,(1)中a[n]的数组定义的【】里的常量表达式不能是变量。 2、一维数组定义的时候【】里的常量表达式包括常量和符号常量,但不能是变量。 ) 题目2 1、运行下面的C程序,根据运行结果,可以说明什么? main( ) { int num[5]={1,2,3,4,5}; inti i; for(i=0;i<5;i++) printf(“%d”,num[i]); } 2、输入和输出信息描述及数据类型确定; 、输入数据 序号输入数据描述数据类型 1 num[5],i int (2)输出数据 序号输出数据描述数据类型 1 num[i] int 3、程序源代码(填写程序调试正确后的代码) #include int main( ) { int num[5]={1,2,3,4,5}; /*定义num[5]*/ int i; for(i=0;i<5;i++) /*下标应该是0到4*/ printf("%d",num[i]); /*依次输出num[0]至num[4]*/ return 0; } 4、程序调试 错误序号错误信息(列出出错语句以及出错 提示) 是否解决解决方法

实验6数组

实验6 数组 一、实验目的: 1、理解数组的作用、特点; 2、掌握一维数组、二维的定义、引用、初始化,能够与循环结合实现批量数据处理(如输入、输出,比较大小,交换等); 3、熟悉打擂台、排序、查找等典型算法。 4、理解数组名作函数参数时,实参向形参传递的是数组首地址,可以利用此特性在函数中修改数组元素的值,从而达到改变实参数组的目的。 二、实验内容 1、(基础题)有一个数列,它的第一项为1,第二项为2,第三项为3,以后每一项都等于它的前三项之和。使用一维数组编程实现功能:计算该数列的前20项并赋值给数组,然后以逆序方式输出,每一行5个数据。如下图所示: 2、(基础题)编程计算数组各元素的平方和,要求如下: (1)void array_input(int array[], int n)的功能是:输入整型数组array 的各元素值,参数n是数组元素的个数; (2)int square_sum(int array[], int n)的功能是:对整型数组array的各元素的平方求和,参数n是数组元素的个数; (3)主函数的功能:定义一个是长度为6的整型数组,通过调用array_input()输入各元素的值,再调用square_sum()得到各元素平方和,最后输出结果; (4)主函数在前,上述两个函数在后面定义。程序运行如下图所示:

3、(基础题)编写程序实现如下功能:先定义两个长度为31的字符数组str1、str2,然后输入两个字符串保存到str1、str2中;现调用字符串处理函数分别进行以下处理: (1)分别计算两个字符串的长度并输出; (2)输出两个字符串中的较大值; (3)再定义一个字符数组str,将str1、str2两个字符串连接存至str中并输出。如下图所示: 程序代码:

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