荷甲直播免费观看直播在线_丰满的继牳3中文字幕系列免费_久久婷婷激情精品综合_有码 无码 中文字幕 丝袜_国内外成人激情视频_亚洲乱码中文字幕234_韩国理论福利片午夜_亚洲一区二区三区高清精油按摩_日本韩国欧美三级在线_在线Ⅴ片免费观看视频

知ing

大學(xué)C/C++語(yǔ)言程序設(shè)計(jì)基礎(chǔ)(第2版)

陽(yáng)小華,馬淑萍 著 / 電子工業(yè)出版社

冥沙 上傳

查看本書(shū)

習(xí)題9答案

一、選擇題。

1.B ??2.A ??3.D ??4.D ??5.D ??6.D ??7.A ??8.D ??9.B ??10.A ??11.D

二、填空題。

1.

p->name(*p).name

%d,&p->score%d,&(*p).score

p->name(*p).name

p->score(*p).score

2.

???p p!=NULL ??p->next p->next!=NULL

???c++

???p->next

?

三、寫(xiě)出程序的運(yùn)行結(jié)果。

1

??12,34

2

??2

4

3

9

12

12

11

11

??18

??9

3

??Zhao,m,85,90

4

20

四、編程題

1.編寫(xiě)程序:inputoutput函數(shù)輸入/輸出5個(gè)學(xué)生的數(shù)據(jù)記錄,其中每個(gè)學(xué)生包括學(xué)號(hào)(char num[6])、姓名(char name[8])、4門(mén)課程分?jǐn)?shù)(score)信息。

參考代碼:

#include "stdio.h"

#include "stdlib.h"

#define N 5

typedef struct

{

char num[6];

char name[8];

float score[4];

}STU;

void input(STU *s,int n)

{

?int i,j;

?printf("Please input %d students' num,name,score[4]:\n",n);

?for(i=0;i<n;i++)

?{

?scanf("%s%s",s[i].num,s[i].name);

?for(j=0;j<4;j++)

?scanf("%f",&s[i].score[j]);

?}

}

void output(STU *s,int n)

{

int i,j;

printf("Students' information:\n");

??for(i=0;i<n;i++)

?{

?printf("%s ?%s ?",s[i].num,s[i].name);

?for(j=0;j<4;j++)

?printf("%2.0f ",s[i].score[j]);

?printf("\n");

?}

}

void ?main( )

{

STU s[N];

input(s,N);

output(s,N);

}

?

2.現(xiàn)有如下一個(gè)結(jié)構(gòu)體及變量,編程實(shí)現(xiàn)找到年齡最大的人,并輸出。

static struct man

{ ?char name[20];

???int age;

}?person[4]={"li",18,"wang",19,"zhang",20,"sun",22};

參考代碼

#include "stdio.h"

#include "stdlib.h"

static struct man

{ ?char name[20];

???int age;

} person[4]={"li",18,"wang",19,"zhang",20,"sun",22};

?

void ?main( )

{

int i,max_age,index;

max_age=person[0].age;

index=0;

for(i=1;i<4;i++)

if(person[i].age>max_age)

{

max_age=person[i].age;

index=i;

}

?????printf("The Oldest man is: ?%s,age:%d\n",person[index].name,person[index].age);

}

3.編寫(xiě)程序:有5個(gè)學(xué)生,每個(gè)學(xué)生有3門(mén)課的成績(jī),從鍵盤(pán)輸入以上數(shù)據(jù)(包括學(xué)生號(hào),姓名,3門(mén)課成績(jī)),計(jì)算出平均成績(jī)。

參考代碼:

#include "stdio.h"

#include "stdlib.h"

#define N 5

typedef struct

{

char num[6];

char name[8];

float score[3];

}STU;

void input(STU *s,int n)

{

?int i,j;

?printf("Please input %d students' num,name,score[3]:\n",n);

?for(i=0;i<n;i++)

?{

?scanf("%s%s",s[i].num,s[i].name);

?for(j=0;j<3;j++)

?scanf("%f",&s[i].score[j]);

?}

}

void main()

{

STU s[N];

int i,j;float average[N];

input(s,N);

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

{

average[i]=0;

for(j=0;j<3;j++)

???????????average[i]+=s[i].score[j];

average[i]/=3;

printf("%d個(gè)同學(xué)的平均成績(jī)?yōu)椋?/span>%f\n",i,average[i]);

}

}

?

4.建立一個(gè)鏈表,每一個(gè)節(jié)點(diǎn)包括的成員為學(xué)生學(xué)號(hào)、平均成績(jī)。用malloc開(kāi)辟新節(jié)點(diǎn)。要求鏈表包括8個(gè)節(jié)點(diǎn),從鍵盤(pán)輸入節(jié)點(diǎn)的數(shù)據(jù)。建立鏈表的函數(shù)名是create。

參考代碼:

#include "stdio.h"

#include "stdlib.h"

#define N 8

typedef struct student

{

char num[5];

float score;

struct student *next;

}STU;

STU *create(int n)

{

int i;

STU *head,*p,*q;

head=p=(STU *)malloc(sizeof(STU));

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

{

??printf("請(qǐng)輸入第%d個(gè)學(xué)生的學(xué)號(hào)num及成績(jī)score:\n",i+1);

??????q=(STU *)malloc(sizeof(STU));

??scanf("%s%f",q->num,&q->score);

??p->next=q;

??p=q;

}

?????p->next=NULL;

?return head; ?

}

void main()

{

STU *head,*p;

head=create(N);

p=head->next;

printf("Start->");

????while(p)

{

printf("學(xué)號(hào):%s ?成績(jī):%2.0f->",p->num,p->score);

p=p->next ;

}

printf("End\n");

}

習(xí)題10答案

一、選擇題。

1.D ???2.C ????3.B ??4.C ???5.B ????6.B ???7.A ???8.C ???9.A ???10.C ??

11.B ??12.C ??13.A ?14.A ??15.D

注:其中選擇題第4題和第8題雷同。

選擇題第13題的答案選項(xiàng)中,兩個(gè)數(shù)據(jù)之間應(yīng)該有逗號(hào)。

二、填空題。

1.

NULL

2.

?"r"

?fp

3. fp=fopen(fn,"w")

ch!=?'#'

?ch = getchar( );

?

4.

?fin

?k,fout

???fopen("D:\\file2.txt",?"wb")??

5.

?FILE *fp

?"rb"

?

?

習(xí)題11答案

一、選擇題。

1.A ???2.C ????3.D ??4.B ???5.D ????6.A ???7.B ???8.B ???9.B ???10.B ??

二、填空題。

1. 自項(xiàng)向下

2. 循環(huán)結(jié)構(gòu)

3. 實(shí)例

4.屬性

5.對(duì)象


查看更多