【程序设计实践实验指导书】实验2:指针进阶

合集下载

java程序设计课程--实验指导书--实验2

java程序设计课程--实验指导书--实验2

实验02 数据与表达式

实验学时:4学时

实验类型:验证

实验要求:必修

一、实验目的

●了解并掌握Java程序语言框架结构

●掌握Java程序编译过程中错误提示信息调试程序的方法

●掌握字符串的用法、字符串拼接和转义符的使用方法

●掌握变量的声明和使用

●了解并掌握Java语言中数据类型转换机制

●了解并掌握交互程序Scanner类的使用方法

二、实验条件

●硬件要求:CPU PII 以上,64M 内存,100M 硬盘空间。

●软件要求:Windows98/Me/XP/NT/2000,IE 5 以上。

●开发环境:JDK1.6.0_10, NotePad或者EditPlus。

三、实验内容

(一)打印一首诗

编写一段Java程序,打印如下信息:“Roses are red”。程序应该包含一个main方法(参照例子Lincoln.java。注意一下事项:

●类名必须与文件名相匹配(不包括扩展名.java)

●main方法的定义必须位于类内部(在第一个“{”和最后一个“}”之间)

●打印信息的语句必须位于main方法内

●添加必要的注释:程序文件名称;主要功能介绍;程序中主要语句的解释。

编译并运行程序,输出结果如下:

Roses are red

Violets are blue

Sugar is sweet

And so are you!

(二)打印学生名单

开发一段程序,用于打印学生姓名和其他信息的一个列表。使用转义符“\t”有助于安排输出信息的格式。请先阅读下面给出的程序Names.java。

1. 将Names.java保存至本地文件夹。编译并运行,查看结果。

实验2+指针实验

实验2+指针实验

淮海工学院计算机科学系实验报告书

课程名:《计算机软件技术强化》

题目:指针实验

班级:

学号:

姓名:

1、实验内容或题目

(1)设计一个程序,将两个变量的值进行交换,要求通过指针实现。

(2)编写一个程序,求一个整型数组中最大的元素和最小的元素,要求通过指针实现。

(3)设计一个程序,用选择法或冒泡法将若干字符串按字母顺序进行排序。要求用指针完成。

(4)使用指针数组对输入的三个整数序列(每个序列5个整数),分别从小到大进行排序,排序方法不限。

(5)编写一个程序,判断用户输入的两个字符串是否相同,其中字符串可能含有空格等,以回车符表示输入结束。

2、实验目的与要求

⑴进一步掌握指针的概念,会定义和使用指针变量。

⑵能正确地使用数组的指针和指向数组的指针变量。

⑶能正确地使用字符串的指针和指向字符串的指针变量。

3、实验步骤与源程序

⑴实验步骤

1、画出流程图

2、编写源程序

3、程序运行测试

4、实验结果分析

⑵流程图、源代码

(1):

(2)

(3)

(4)

(5)

测试数据与实验结果(可以抓图粘贴)

题1

题2

题3

题4

题5

4、结果分析与实验体会

进一步掌握指针的概念,会定义和使用指针变量。

能正确地使用数组的指针和指向数组的指针变量。

能正确地使用字符串的指针和指向字符串的指针变量。

程序设计实践实验指导书实验2:指针进阶

程序设计实践实验指导书实验2:指针进阶

工业大学实验报告

课程名称:程序设计实践开课实验室:

1. 理解指针数组的概念,掌握指针数组的根本应用和编程方法。

2. 掌握单向链表的概念和建立方法。

3. 掌握单向链表的根本操作。

二、实验环境:

1. 运行Window *P/Windows 7/Windows 8等的操作系统的PC机;

2. VC++6.0,CodeBlocks,或Dev C++等编译环境。

三、实验容:

1.编写程序,输入一个月份,输出对应的英文名称,要求用指针数组表示12个月的英文名称。

输入输出例如:

5

May

【源程序】

*include<stdio.h>

*include <stdlib.h>

int main()

{ int num;

scanf("%d",&num);

getchar();

char

*month[12]={"January","February","March","April","May","June","July","August","September","October"," Novermber","December"};

printf("%s\n",month[num-1]);

return 0;

}

【运行结果】

8

August

Process returned 0 (0*0) e*ecution time : 2.466 s

Press any key to continue.

2. 定义一个指针数组将下表的星期信息组织起来,输入一个字符串,在表中查找,假

输入输出例如:

Tuesday

3

【源程序】

*include<stdio.h>

C语言程序设计实训教程第2章 基础实验

C语言程序设计实训教程第2章  基础实验

8
程序设计性实验 (1)从键盘输入变量 x,y的值,交换它们的 值并输出。 提示: ①用 scanf( )函数输入 x,y的值; ②用第 3个变量辅助交换 x,y的值; ③用 printf( )函数将交换后的 x,y输出。 (2)编写程序求出任一输入字符的 ASCII码。 提示:从键盘输入一个字符赋给字符变量,以 整型格式输出该变量。
(3)写一个函数,用“冒泡法”对输入的 10 个数字由小到大顺序排列,并输出。 提示: ①排序的函数名为 Sort。 ②排序前后的输入输出都应在主函数中完成。 ③使用数组作为函数参数。 ④使用“冒泡法”排序。
67
(4)写一函数,使给定的一个二维数组(5 ×5)转置,即行列互换。 提示: ①使用 5 ×5的二维数组存放数据。 ②矩阵转置的函数名为 Turn。 ③转置前后的输入输出都应在主函数中完成。 ④使用数组作为函数参数。
49
(2)以下程序将读入的字符串 s1复制给 s2。
50
程序设计性实验 (1)从键盘输入 10个整数,用冒泡排序法对 这个 10个数进行从小到大排序,并输出。 提示: ①将这 10个整数存入一个含有 10个元素的一 维数组中。 ②冒泡法:从第一个数开始依次让相邻的两个 数进行比较,若次序对则不做任何操作若次序不对 则使这两个数交换位置。第一遍比较后,最大的数 已放在最后,第二遍只需考虑剩下的数,依此类推 直到最后两个数比较后就可以完成排序。

C程序设计实验指导书2

C程序设计实验指导书2

《C语言程序设计》实验指导

第一部分上机实验的指导思想和要求

1.上机实验的目的

学习C语言程序设计课程不能满足于“懂了”,满足于能看懂书上的程序,而应当熟练地掌握程序设计的全过程,即独立编写出源程序,独立上机调试程序,独立运行程序和分析结果。这是一门实践性很强的课程,必须十分重视实践环节,保证有足够的上机实践时间。

上机实验的目的是:

(1)加深对讲授内容的理解,尤其是一些语法规定。

(2)熟悉C语言程序开发的环境。

(3)学会上机调试程序。也就是善于发现程序中的错误,并且能很快地排除这些错误。要学会根据“出错提示”,分析并找出错误。

2.上机实验前的准备工作

(1)了解所用的计算机系统(包括C编译系统)的性能和使用方法。

(2)复习和掌握与本实验有关的教学内容。

(3)准备好上机所需的程序。

(4)对运行中可能出现的问题应事先作出估计;对程序中自己有疑问的地方,应作上记号,以便在上机时给予注意。

(5)准备好调试和运行时所需的数据。

3.上机实验的步骤

(1)调出C编译系统,进人C工作环境。

(2)输人自己编好的程序

(3)检查一遍已输人的程序是否有错(包括输入时打错的和编程中的错误),及对改正。

(4)进行编译。如果在编译和连接过程中发现错误,输出窗口会出现“出错信息”,根据提示找到出错位置和原因,加以改正,再进行编译,如此反复,直到顺利通过编译和连接。

(5)运行程序,并分析运行结果是否合理和正确。在运行时要注意当输入不同数据时所

................

得到的结果是否正确。此时应运行几次,分别检查在不同情况下程序是否正确..................................。

程序设计语言实验指导书 (2)

程序设计语言实验指导书 (2)

实验1开发平台的使用

熟悉.Net开发环境

实验题目:

熟悉Microsoft Visual Studio 2008 (或Microsoft Visual Studio 2005)开发工具,学会使用开发工具建立项目

实验步骤:

1)启动Microsoft Visual Studio 2008 (或Microsoft Visual Studio 2005)。

2)选择开发语言。

3

4)新建网站项目,了解网站目录结构。

5)新建windows窗体应用程序,了解常用控件(包括控件的属性、方法和事件的基本概念和操作)。

该窗体应用程序模仿银行的A TM机的界面。

实验2 C#语言编程基础

2.1 判断某年是否闰年

实验题目:

编写一个程序,判断用户从键盘输入的年份是否是闰年。如果一个年份能被4整除,并且如果该年份是100的倍数,它能被400整除,那么该年份就是闰年。

实验步骤:

1)声明int型变量year,用于表示年份。

2)声明bool型变量isLeap,用于表示是否闰年。

3)声明string型变量str,用于表示一串字符。

4)向屏幕输出提示信息,提示用户输入年份。

5)从键盘读入年份字符串赋值给变量str。

6)将变量str中的数据转换成int型数据并赋值给变量year。

7)通过混合取余运算、关系运算和条件逻辑运算判断year是否闰年,并将结果赋值给变量isLeap。8)使用条件运算符,当isLeap为true时,给变量str赋字符串“是”;否则,赋“不是”。

9)输出结果,告诉用户相应年份是否闰年。

参考答案:

运行结果如图2-1:

C语言程序设计II实验指导书

C语言程序设计II实验指导书

第二部分实验内容

实验一:数组定义、初始化和引用运算

一、实验目的

1、掌握一维数组的定义和引用

2、掌握一维数组的初始化方法

3、了解与一维数组有关的应用编程方法

二、实验意义

在解决实际问题或实现某些算法时,数组是经常使用的构造数据类型,掌握数组的定义,元素引用特征和数组的编程特色,可加强学生解决实际问题的能力,同时可接触到更多的经典算法,这些算法很多都是通过数组类型存储数据并实现的,有了这些基础后,学生可以在今后的编程中应用这些知识。数组的实验能让学生进一步的提高程序设计编程和调试的能力,对于数组元素引用及循环控制的特点,也可以在实验中得以加深理解和巩固知识。

三、实验重点

1 一维数组的定义、元素的引用。

2 一维数组编程的循环控制特色。

3 排序等相关算法的实现。

四、实验难点

一维数组编程的循环控制特色,程序调试时的数组越界问题

排序算法的理解和记忆

五、实验方式

提前编写程序,写好实验报告,上机实验时一边调试程序一边将实验报告上关于程序调试和运行结果的信息填写到实验报告上,实验完成时上交实验报告。

六、实验内容

1. 运行下面的程序。根据运行结果,可以说明什么?

main( )

{

int i,x[5]={1,2,3,4,5};

for (i=0;i<=5;i++)

printf("%4d",x[i]);

}

2、编程:输入一个长度为10的一维数组,然后将其向右循环移动一位后输

出。

如:输入的一维数组啊[10]为:0 1 2 3 4 5 6 7 8 9 10

则向右循环移动一位后,数组a[10]变为:10 0 1 2 3 4 5 6 7 8 9

【程序设计实践】实验报告__实验二

【程序设计实践】实验报告__实验二

实验报告

课程名称___ 程序设计实践______

实验项目_______子程序设计

实验仪器_______PC _____

系别_ 计算机科学与工程____

专业______软件工程__________

班级/学号___B软工0701/2007011801

学生姓名_____ XX____________

实验日期____2009-3-26__________

成绩_______________________

指导教师_____XX______________

;.

实验二子程序设计

一、实验目的

1. 学习和掌握参数传递的方法;

2.学习和掌握递归调用;

3.了解goto语句的使用;

4.了解降低嵌套深度的方法;

5.了解复杂度的度量。

二、实验要求

1.通过编程实现,学习和理解参数传递和递归调用的使用。2.使用goto语句编写程序,用非goto语句改写程序;

3.了解减少嵌套层次和度量复杂度的方法。

三、实验内容和结果

1. 参数传递

(1)创建控制台应用程序项目(CLR)。定义函数swap,swap函数有两个整型形参x,y,swap的功能为交换x和y的值,并依次显示出交换后的x,y的值。主函数定义两个整型变量a,b,并赋不同的初值,依次显示a和b的值,调用swap函数,a,b作为实参,再在主函数中依次显示a和b的值。(值传递)

编写并运行以上程序,分析运行结果,思考值传递中是否会改变实参的值。

(2)创建控制台应用程序项目,修改(1)中程序,使swap函数的参数为两个指向整型的指针,swap函数中交换指针所指向的内容;主函数中调用swap函数,交换整型变量a和b的值。

《程序设计基础(C语言)》实验指导书

《程序设计基础(C语言)》实验指导书

《程序设计基础(C语言)》

目录

第1 章概述 (1)

1.1 课程简介 (1)

1.2 实验环境选择 (1)

第 2 章实验要求 (1)

2.1 实验过程要求 (1)

2.2 考核及评分标准 (1)

第 3 章实验内容 (2)

3.1 实验1 熟悉C语言运行环境 (2)

3.2 实验2 数据类型 (3)

3.3 实验3 运算符和表达式 (4)

3.4 实验4 顺序结构及输入和输出 (6)

3.5 实验5 选择结构 (7)

3.6 实验6 循环结构 (9)

3.7 实验7 数组(1) (11)

3.8 实验8 数组(2) (12)

3.9 实验9 字符串及其操作 (13)

3.10 实验10 函数 (14)

3.11 实验11 结构体 (15)

3.12 实验12 指针 (16)

第 1 章概述

1.1 课程简介

《程序设计基础(C语言)》是软件工程各专业或其它相近专业学生的公共职业基础课,是软件类各专业的入门课程,直接影响学生后继职业技术课程的学习及可持续发展能力的培养。通过本书,学习基本的程序设计概念和程序设计方法,学会使用C语言解决实际问题,进行初级的程序设计。

1.2 实验环境选择

VC++6.0

第 2 章实验要求

2.1 实验过程要求

本课程中,实验者必须服从指导教师和实验室工作人员的安排,遵守纪律与实验制度,爱护设备及卫生。在指定的实验时间内,必须到机房内实验,其余时间可自行设计和分析。本课程所涉及的程序代码,都要求有较高的可读性和效率,多文件表示。

2.2 考核及评分标准

若实验者在指定上机时间三次不到课,取消考核资格。请假,必须提前出具正式假条,不接受事后假条。如果发现抄袭、篡改、伪造实验数据,或实验报告和设计报告雷同,涉及的所有学生的该课程成绩计为0 分。本课程采用结构化评分,主要由指导教师灵活处理,可以是考勤等。

实验报告_实验2 指针(2)

实验报告_实验2 指针(2)

实验报告_实验2 指针(2)(学号_姓名)

一、实验目的:

1、掌握指针变量p的算术运算:p±n(n为整数)、p++(p--)、++p(--p),理解移动一个数据单位的真实含义;

2、能够用数组名或指针变量作函数形参,在函数中实现对数据的批量处理。

3、熟悉二维数组“行指针”、“列指针”的类型,加减1所移动的字节数,以及如何利用它们来存取数组元素。

二、实验内容

2、(基础题)使用指针编程实现:输入3个正整数,按由小到大顺序输出。程序运行结果如下所示:

(提示:可以调用swap(int * x, int * y)来实现)

程序代码:

3、(基础题)分析、运行下列程序,理解二维数组“行指针”、“列指针”的类型,加减1所移动的字节数,熟悉二维数组元素的间接访问方法,并回答相关问题:问题:

(1)二维数组a的“行指针”的类型是什么?加减1所移动的字节数是多少?列举2个该类型指针的例子;

答:

问题1:是int型的数组

问题2:1个字节

a[2][2]={{1,2}{3,4}}

(2) 二维数组a的“列指针”的类型是什么?加减1所移动的字节数是多少?列举2个该类型指针的例子;

问题1:是int型的数组

问题2:4个字节

a[2][2]={{1,2}{3,4}}

(3)二维数组a的“列指针”与“行指针”有什么联系?a+i与a[i]、*(a+i)、&a[i]有什么关系?

(4)列出a[i][j]地址的3种写法。

Int *p=a;

4、(提高题)编程实现:在主函数中定义一个有10个元素的float数组,并赋值。该程序还包含两个函数:

(1)void change(float *x,int k)的功能是让该数组中的前k个元素值为0;

程序设计实验指导书实验二

程序设计实验指导书实验二

-id xi

实验二组件与事件处理

一、实验目的及要求

1.学习处理ActionEvent事件:

2.学习处理ItemEvent事件和paint方法;

3.学习使用布局类。

二、实验学时

6学时

三、实验任务

【内容】

1编写代码,创建标题为“使用面板的基本GUI编程”的面板

代码实现

import j ava ・ awt ・ *;

class MyPanel extends Panel {

public static void main(String[] args) {

MyPanel mp = new MyPanel();

Frame frame = new Franks ("使用板的基本GU工编程”);

frame ・ add(mp);

frame ・ smtSize(300, 200);

frame ・ setVisible (true);

2.编写一个程序,创建如下图所示的GUI,使用FlowLayout布局管理器。

年龄;

地址:

3.编写一个登录的应用程序。创建如下图所示的GUL

-Ini Xi

用尸名||

密玛I

确定I取消I

4.算术测试。

◊实验要求:

编写一个算书测试小软件,用来训练小学生的算术能力。程序由3个类组成,其中Teacher类对象负责给岀算术题目,并判断回答者的答案是否正确:ComputerFrame类对象负责为算术题目提供视图,比如用户可以通过ComputerFrame类对象提供的GUI界而看到题目,并通过该GCI界而给出题目的答案:MainClass是软件的主类。

◊程序运行效果示例:

程序运行效果如下图所示:

《面向对象程序设计》实验指导书(实验二)

《面向对象程序设计》实验指导书(实验二)

实用标准文档

文案大全实验二类与对象㈡——对象初始化、对象数据与指针

一、实验目的

1.理解构造函数、析构函数的意义及作用,掌握构造函数、析构函数的定义及调用时间,熟悉构造函数的种类;

2.理解this指针及使用方法,熟悉对象数组、对象指针、对象引用的定义及使用方法,熟悉对象作为函数参数的使用方法;

3.熟悉类与对象的应用及编程。

二、实验学时

课内实验:2课时课外练习:2课时

三本实验涉及的新知识

㈠构造函数与析构函数

在C++中,提供了两个特殊的成员函数,即构造函数和析构函数。

构造函数用于对象的初始化,即在定义一个类对象时,计算机在给对象分配相应的存储单元的同时,为对象的数据成员赋初值。

析构执行的是与构造函数相反的操作,用于撤销对象的同时释放对象所占用的内存空间。

1.构造函数

⑴构造函数的定义

格式:

类名(形参表)

{ 构造函数体 }

⑵构造函数的调用

构造函数的调用是在定义对象时调用的。

格式:类名对象名(实参表);

类名对象名=构造函数名(实参表);

⑶说明

①构造函数必须与类同名。

②构造函数没有返回值,但不能在构造函数前加void类型符(其他没有返回值的成员函数必须加类型符void)。

③在实际应用中,在定义类时通常应定义一至多个构造函数(重载),以对各数据成员进行初始化;如果不给出构造函数,系统将自定义一个构造函数。

④构造函数可以可以带参数,也可不带任何参数(称无参构选函数),还可以使用缺省参数。

⑤不能象普通成员函数一样单独调用。

2.析构函数

⑴析构函数的定义

格式:

~类名(void)

{ 析构函数体 }

⑵析构函数的调用

C语言程序设计实验指导书-2

C语言程序设计实验指导书-2

C程序设计II实验指导书信息工程学院计算机系

目录

C程序设计实验要求..................................................................................... 错误!未定义书签。实验一指针应用........................................................................................... 错误!未定义书签。

2011 求平均成绩................................................................................... 错误!未定义书签。

2012 字符串排序................................................................................... 错误!未定义书签。

2013 字符串比较................................................................................... 错误!未定义书签。

2014 学生成绩统计(选做) .................................................................... 错误!未定义书签。实验二结构应用........................................................................................... 错误!未定义书签。

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

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

常熟理工学院电气与自动化工程学院《C语言程序设计》实验指导书

实验一熟悉C程序运行环境

班级学号姓名成绩

一、实验目的

1. 熟悉C语言Visual C++6.0调试环境。

2. 掌握C程序的编辑、调试及运行。

二、实验内容

项目1. 调试并运行下面程序,并写出运行结果:

#include <stdio.h>

int main()

{

printf(“Good morning!\n”);

printf(“Hello,world!\n”);

return 0;

}

运行结果(注意,按照屏幕输出格式写):

项目2. 调试并运行下面程序,并写出运行结果:

#include <stdio.h>

int main()

{

int a , b , sum; /*定义变量*/

a=23; b=56; /*为变量赋值*/

sum=a+b; /*计算两个变量的和*/

printf(“sum is %d\n”,sum); /*输出计算结果*/

return 0;

}

运行结果:

2

项目3. 调试并运行下面程序,并写出运行结果:

#include <stdio.h>

int max(int,int);

int main()

{

int a , b , c; /*定义变量*/

a=23; b=56; /*为变量赋值*/

c=max(a,b); /*调用max函数,将得到的值赋给c*/ printf(“max is %d\n”,c); /*输出c的值*/

return 0;

}

int max(int x,int y) /*定义max函数,函数值为整型*/ {

C语言程序设计第9章指针进阶

C语言程序设计第9章指针进阶

(1) void fun(int (*p)[N])
(2) void fun(int p[][N])
(3) void fun(int p[M][N])
2021/7/13
20
注意:
上述三种方式中,无论是哪一种方式,编译系统都 将把p处理成一个行指针。和一维数组相同,数组 名传递给形参的是一个地址值,因此,对应的形参 也必定是一个类型相同的指针变量,在函数中引用 的将是主函数中的数组元素,系统只为形参开辟一 个存放地址的存储单元,而不可能在调用函数时为 形参开辟一系列存放数组元素的存储单元。
第9章 指针进阶
2021/7/13
1
学习目标
1.掌握指针数组的定义及其应用,了解二级 指针的基本概念;
2. 理解二维数组的指针和指向二维数组的指针 变量;
3. 了解指向函数的指针,理解指针型函数; 4. 初步了解内存的动态分配和动态回收; 5. 初步掌握单向链表的建立与访问、在单向链
表中插入、删除结点等算法。
}
测试数据及运行结果:
输入:1 3 ↙
输出:7
2021/7/13
19
9.2.4 二维数组名作为函数参数
若主函数中有以下定义及函数调用语句:
#include <stdio.h>
#define M 3
#define N 4
void main()

《C语言程序设计Ⅱ》实验指导书

《C语言程序设计Ⅱ》实验指导书

《C语言程序设计Ⅰ》实验指导书

(2012—2013学年第二学期)

班级:

学号:

姓名:

教师:李洪波

医药信息工程学院·计算中心

2013年2月

目录

实验1、指针(1) (1)

实验2、指针(2) (4)

实验3、结构体 (10)

实验4、链表 (14)

实验5、文件 (17)

实验1、指针(1)

一、实验目的

1、理解指针和指针变量、内存单元和地址、变量与地址、数组与地址的关系。

2、掌握指针变量的定义和初始化,指针变量的引用方式。

3、掌握指针运算符以及指向变量的指针变量的使用。

4、初步熟悉指向一维数组的指针变量的使用。

5、进一步熟悉和掌握调试程序的方法。

二、实验内容

1、读懂以下各组程序,画示意图理解指针的使用,单步执行观察各个变量取值情况,回答相应问题。

⑴以下两个程序的功能是输入三个整数,按由小到大的顺序输出。

回答:两个程序的主要不同在于:

⑵以下两个程序的功能是通过指针变量的操作输出数组元素的值。

回答:两个程序的主要不同在于:

⑶下面所给程序是利用指针求解一个趣味智力问题(P291 习题5):有n 个人围成一圈,顺序排号。从第1个人开始报数(从1到3报数),凡报到3的人退出圈子,问最后留下的是原来的第几号的那位。(

先画示意图理解算法!)

#include

#define N 5 main()

{ int i,j,k,a[N+1],*p;

for(i=0,p=a;p<=a+N;i++,p++) *p=i; //给每人排号,a[0]=0表示未用

p=a+1;k=N; //从1号开始报数,k 表示队伍中剩下的人数 for(i=0,j=1;k!=1;j++)

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

河南工业大学实验报告

课程名称:程序设计实践开课实验室:

一、实验目的:

1. 理解指针数组的概念,掌握指针数组的基本应用和编程方法。

2. 掌握单向链表的概念和建立方法。

3. 掌握单向链表的基本操作。

二、实验环境:

1. 运行Window XP/Windows 7/Windows 8等的操作系统的PC机;

2. VC++6.0,CodeBlocks,或Dev C++等编译环境。

三、实验内容:

1.编写程序,输入一个月份,输出对应的英文名称,要求用指针数组表示12个月的英文名称。

输入输出示例:

5

May

【源程序】

#include

#include

int main()

{ int num;

scanf("%d",&num);

getchar();

char

*month[12]={"January","February","March","April","May","June","July","August","September","

October","Novermber","December"};

printf("%s\n",month[num-1]);

return 0;

}

【运行结果】

8

August

Process returned 0 (0x0) execution time : 2.466 s

Press any key to continue.

2. 定义一个指针数组将下表的星期信息组织起来,输入一个字符串,在表中查找,若

输入输出示例:

Tuesday

3

【源程序】

#include

#include

#include

int main()

{

char

*month[12]={"January","February","March","April","May","June","July","August","September"," October","Novermber","December"};

char mnum[10];

scanf("%s",&mnum);

getchar();

int i=0;

for(i=0;i<12;i++)

{ if(strcmp(mnum,month[i]))

printf("%d\n",i+1);

return 0;

}

return 0;

}

【运行结果】

Junuary

1

Process returned 0 (0x0) execution time : 5.130 s

Press any key to continue.

3. 编写程序,输入n(n<10)个字符,输出其中最长字符串的有效长度。要求自定义函数int max_len(char *s[] , int n),用于计算有n个元素的指针数组n中最长的字符串的长度。

6

【源程序】

#include

#include

#include

int max_len(char *s[] ,int n);

int main()

{

int i,n,t;

printf("n=");

scanf("%d",&n);

getchar();

char *num[n],str[80];

for(i=0;i

{

gets(str);

num[i]=(char*)malloc(sizeof(char)*(strlen(str)+1));

strcpy(num[i],str);

}

t=max_len(num,n);

printf("%d",t);

return 0;

}

int max_len(char *s[],int n)

{

int i,t,max=0;

for(i=0;i

{

t=strlen(s[i]);

if(max

max=t;

}

return max;

}

【运行结果】

n=5

sdsdsdsd

sdd

dddd

dddddd

dd

8

Process returned 0 (0x0) execution time : 8.274 s

Press any key to continue.g

4. 输入若干个学生信息(包括学号、姓名和成绩),输入学号为0时输入结束,建立一个单向链表,再输入一个成绩值,将成绩大于等于该值的学生信息输出。

4 Zhao 85

【源程序】

#include

#include

#include

typedef struct node

{

int num;

char name[20];

相关文档
最新文档