结构体编程练习

发布 2021-05-29 14:51:28 阅读 2529

一:实验目的:

1、 理解结构体和共用体的作用功能;

2、 掌握结构体类型变量的定义方法;

3、 掌握结构体变量的使用方法;

4、 掌握结构体数组,并能较熟练应用;

5、 理解指向结构体类型数据的指针。

二:实验内容及要求:

1、用结构体实现在屏幕上模拟显示一个数字式时钟;

思考题:1 用结构体指针作为函数参数与用结构体变量作为函数参数有什么不同?本题可以用结构体变量作为函数参数编程实现吗?

2 请读者自己分析下面两段程序**,并解释它们是如何实现时钟值更新操作的。

2、洗牌和发牌模拟(选作)

编程实现洗牌和发牌模拟。

三:程序源**:

题目1:#include <>

struct clock

int hour;

int minute;

int second;

;typedef struct clock clock;

void update(clock*t);

void display(clock*t);

void delay(void);

main()

clock t;

long i;

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

void update(clock*t)

t->second++;

if(t->second==60)

if(t->minute==60)

if(t->hour==24)

void display(clock*t)

printf("%2d:%2d:%2d",t->hour,t->minute,t->second);

void delay(void)

long m;

for(m=0;m<50000000;m++)

题目2:#include <>

#include <>

#include <>

#include <>

struct cards

char suit[10];

char face[10];

;typedef struct cards card;

void deal(card *wcard);

void shuffle(card *wcard);

void fillcard(card wcard,char *wface,char *wsuit)

main()

char *suit=

char *face=

int i;

card card[52];

srand(time(null));

fillcard(card,face,suit);

shuffle(card);

deal(card);

void fillcard(card wcard,char *wface,char *wsuit)

int i;

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

void shuffle(card *wcard)

int i,j;

card temp;

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

void deal(card *wcard)

int i;

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

printf("%10s%10s",wcard[i].suit,wcard[i].face);

结构体练习

1 include student void func struct student s int n void main func s,4 for i 0 i 4 i printf 5s f s i name,s i score void func struct student s int n in...

数据结构编程练习

按要求完成下面的编程,记录并分析输出结果。运用指针操作数组。定义一个数组,并初始化 int m 5 定义一个指针变量,并将数组的首地址赋给它 int p m 运用指针p输出数组的各元素。for int i 0 i 5 i cout p i cout 将上面数组的输出改用函数实现,函数的声明如下。vo...

练习12 结构体排序

定义一个5个元素的 struct student 数组,1 从键盘输入5个学生的信息。2 按总分降序排序。3 按语文成绩降序排序。4 按姓名升序排序。struct student char name 20 float chinese,math,english,score void input str...