C语言课后习题答案(最终)(8)

2019-04-16 22:06

}

a2++; a3++; a4++; a5++;

else if(employee1[i].age >= 30&&employee1[i].age < 40) else if(employee1[i].age >= 40&&employee1[i].age < 50) else if(employee1[i].age >= 50&&employee1[i].age <= 60)

printf(\printf(\printf(\printf(\printf(\}

int main( ) {

int m;

struct employee employee1[20];

printf(\scanf(\input(employee1,m); average(employee1,m); agenum(employee1,m); }

10.已有a,b两个链表,每个链表中的结点包括学号,成绩.要求把2个链表合并. 答:

#include

#define LEN sizeof(struct student) typedef struct student {

long num; float fScore;

struct student *next; }stu,*sp; sp creat();

sp insert(sp a,sp b); void print(sp head); int main() {

sp ahead,bhead,abh; int a,b,sum;

printf(\ ahead = creat(); printf(\ bhead = creat();

abh = insert(ahead,bhead); print(abh); system(\ return 0; }

sp creat() {

sp head = NULL,p1,p2; long num = 0; float fScore = 0; int input = 0; while(1) {

input = scanf(\ if(input != 2 || num == 0) break;

p1 = (sp)malloc(LEN); p1->num = num; p1->fScore = fScore; p1->next = NULL; if(head == NULL) head = p1; else

p2->next = p1; p2 = p1; }

return(head); }

sp insert(sp ah,sp bh) {

sp pa = ah,pb = bh,abh = NULL,pab; if(ah == NULL) return bh; if(bh == NULL) return ah;

while(pa != NULL && pb != NULL) {

if(abh == NULL)

if(pa->num < pb->num) {

pab = abh =pa; pa = pa->next; } else {

pab = abh = pb; pb = pb->next; } else

if(pa->num < pb->num) {

pab->next = pa; pab = pa; pa = pa->next; } else {

pab->next=pb; pab=pb; pb=pb->next; }

}

if(pa == NULL) pab->next = pb; else

pab->next = pa;

return(ah); }

void print(sp head) {

sp p; int sum;

for(sum = 0,p = head;p != NULL;p = p->next,sum++); printf(\ p = head;

while(p != NULL) {

printf(\

p=p->next; } }

11.建立一个链表,每个结点包括学号、姓名和年龄。输入一个学号,如果链表中的结点所包含的学号等于此学号,则将此结点删去。 答:

#include #define NULL 0

#define LEN sizeof(struct student) struct student {

int num; }; int n;

struct student *creat(void) {

}

struct student *del(struct student *head,int num) {

struct student *p1,*p2; if (head == NULL) {

struct student *head,*p1,*p2; n = 0;

p1 = p2 = (struct student *)malloc(LEN); scanf(\head = NULL; {

n = n+1; }

p2->next = NULL; return(head);

if(n == 1) head = p1; else p2->next = p1;

p1 = (struct student *)malloc(LEN);

scanf(\char name[20]; int age;

struct student *next;

while(p1->num != 0)

p2 = p1;

printf(\goto end;

}

for(p1 = head;p1->next != NULL;p1 = p1->next) { } end: }

int main() {

/*return(head); */ p2 = p1;

if(num == p1->num)

{ }

if (p1 == head)

head = p1->next; p2->next = p1->next; else

printf(\n = n-1;

else p2 = p1;

}

struct student *head; int num;

printf(\head = creat();

printf(\scanf(\head = del(head,num);

思考题

用结构类型编写一个程序,完成生命游戏的功能:在一个由方格组成的矩形阵列上,每个方格可包含一个机体。每个方格和8个方格相邻,我们用occ(k)表示与方格k相邻的包含机体的方格数。各机体生死的规则是:

如果2≤occ(k)≤3,那么在方格k中的机体继续活下去;否则该机体死亡。 如果occ(k)=3,那么在方格k中诞生一个新机体。

写一个程序,读入初始机体配置,按规则计算一系列生成过程,并打印出每一时间的配置情况。为处理方便,不考虑矩形阵列最外围方格中机体的生死问题,但它们对临近方格中机体的生成起作用。 答:

/*lifegame.c*/


C语言课后习题答案(最终)(8).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:青年员工培养方案

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: