您所在位置: 网站首页 / 计算机语言与程序设计 (11).ppt / 文档详情
计算机语言与程序设计 (11).ppt 立即下载
2024-08-16
约8.7千字
约45页
0
215KB
举报 版权申诉
预览加载中,请您耐心等待几秒...

计算机语言与程序设计 (11).ppt

计算机语言与程序设计(11).ppt

预览

免费试读已结束,剩余 40 页请下载文档后查看

10 金币

下载文档

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

第十一讲结构例:跳马。依下图将每一步跳马之后的位置(x,y)放到一个“结点”里,再用“链子穿起来”,形成一条链,相邻两结点间用一个指针将两者连到一起。依上图有7个结点结构——是一种构造类型的数据类型。结构是数目固定、类型不同的若干变量的有序集合。结构与数组的区别在于结构内允许有不同类型的数据。

结构的定义,格式如下:	例如跳马棋局可如下定义8
4//结构1.c
#include<stdio.h>		//预编译命令
#definenull0			//定义空指针常量
structTM			//定义结构TM
{
	intx,y;			//整型变量x,y
	structTM*next;		//指向TM结构的指针
};

voidmain()			//主函数
{					//主函数开始
inti;				//声明整型变量

//声明TM结构n1~n7,结构指针head,p
structTMn1,n2,n3,n4,n5,n6,n7,*head,*p;//分别对TM结构n1~n7中的x,y赋值
n1.x=0;n1.y=0;
n2.x=1;n2.y=2;
n3.x=2;n3.y=4;
n4.x=4;n4.y=4;
n5.x=6;n5.y=4;
n6.x=7;n6.y=2;
n7.x=8;n7.y=4;

//head赋值为n1,即head指向n1
head=&n1;

//n1~n7构成链表
n1.next=&n2;
n2.next=&n3;
n3.next=&n4;
n4.next=&n5;
n5.next=&n6;
n6.next=&n7;

//n7的next指针赋值为空指针
n7.next=null;	p=head;	//p赋值为head,即p指向head所指的内容
	i=1;	//i赋值为1

	do		//直到型循环
	{		//循环体开始
		
		//输出结点信息
		printf("结点%d:x=%d,y=%d\n",i,p->x,p->y);
		p=p->next;		//p指向下一个结点
		i=i+1;			//计数加1

	}while(p!=null);	//未到达链表尾部,则继续循环

}					//主函数结束用结构数组,利用键盘输入结点中的数据。
重点看
	scanf(“%d”,&a);
	n[i].x=a;
结构数组,数组中的元素为结构类型的数据,如n[8]voidmain()				//主函数
{						//主函数开始
inti,a,b;				//声明整型变量i,a,b

//声明TM型结构数组n[8],TM结构指针head,p
structTMn[8],*head,*p;

for(i=1;i<=7;i=i+1)			//循环
	{					//循环体开始
	printf("输入n[%d]的x\n",i);	//提示输入第i个结构的x值
	scanf("%d",&a);		//输入a
	n[i].x=a;				//将a的值赋给结构n[i]的元素x
	printf("输入n[%d]的y\n",i);	//提示输入第i个结构的y值
	scanf("%d",&b);		//输入b
	n[i].y=b;				//将b的值赋给结构n[i]的元素y
	}					//循环体结束	head=&n[1];		//链表头部指向n[1]
	for(i=1;i<=6;i=i+1)	//将结构数组n形成链表
	{
		n[i].next=&n[i+1];	//n[i]的next指针指向下一个结构n[i+1]
	}
	n[7].next=null;		//链表尾部指向空

	p=head;			//p指向链表头部head
	i=1;			//i赋值为1
	do				//直到型循环,用于输出链表内容
	{				//循环体开始
	//输出结点内容
	printf("结点%d:x=%d,y=%d\n",i,p->x,p->y);

	p=p->next;		//p指向相邻的下一个结点
	i=i+1;			//计数i加1
	}while(p!=null);		//未到链表尾部,则继续循环
}					//主函数结束下面的程序与上面的程序区别仅在
	scanf(“%d”,&(n[i].x));
去替换
	scanf(“%d”,&a);
	n[i].x=a;voidmain()				//主函数
{						//主函数开始
inti,a,b;				//声明整型变量i,a,b

//声明TM型结构数组n[8],TM结构指针head,p
structTMn[8],*head,*p;

for(i=1;i<=7;i=i+1)	//循环
	{					//循环体开始
	printf("输入n[%d]的x\n",i);	//提示
查看更多
单篇购买
VIP会员(1亿+VIP文档免费下)

扫码即表示接受《下载须知》

计算机语言与程序设计 (11)

文档大小:215KB

限时特价:扫码查看

• 请登录后再进行扫码购买
• 使用微信/支付宝扫码注册及付费下载,详阅 用户协议 隐私政策
• 如已在其他页面进行付款,请刷新当前页面重试
• 付费购买成功后,此文档可永久免费下载
全场最划算
12个月
199.0
¥360.0
限时特惠
3个月
69.9
¥90.0
新人专享
1个月
19.9
¥30.0
24个月
398.0
¥720.0
6个月会员
139.9
¥180.0

6亿VIP文档任选,共次下载特权。

已优惠

微信/支付宝扫码完成支付,可开具发票

VIP尽享专属权益

VIP文档免费下载

赠送VIP文档免费下载次数

阅读免打扰

去除文档详情页间广告

专属身份标识

尊贵的VIP专属身份标识

高级客服

一对一高级客服服务

多端互通

电脑端/手机端权益通用