每天資訊學習C語言的第二十八課!

菜單

學習C語言的第二十八課!

1、訪問結構體成員

例:

struct student

{

char name[12];

char sex;

struct date birthday;

float sc[4];

}std,arr[5],*ps;

ps=&std;

ps->sex;

arr[2]。sc[3]

注:訪問結構體成員有兩種情況

1)如果物件是普通結構體變數,則應該寫為 變數。成員

2)如果物件是指向結構體的指標,則應該寫為 指標->成員

2、結構體的應用

例:某學生檔案定義如下:

學號 sno[5]

姓名 sname(10)

三門成績 score(3)

從鍵盤上輸入5個學生的檔案,分別輸出每個學生的平均分(保留2位小數)和總分最高的學生姓名。

#include

struct student

{

char sno[5],sname[10];

int score[3];

}s[5];

int sum[5];

void inPutdata()

{

int i;

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

{

printf(“請輸入第%d個學生的學號:\n”,i+1);

scanf(“%s”,s[i]。sno);

printf(“請輸入第%d個學生的姓名:\n”,i+1);

scanf(“%s”,s[i]。sname);

printf(“請輸入第%d個學生的三門成績:\n”,i+1);

scanf(“%d%d%d”,&s[i]。score[0],&s[i]。score[1],&s[i]。score[2]);

}

}

void outPut_average()

{

int i,j,t;

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

{

t=0;

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

t=t+s[i]。score[j];

sum[i]=t;

printf(“第%d個學生的平均分%。2f\n”,i+1,t/3。0);

}

}

void outPut_name()

{

int i,max,index=0;

max=sum[0];

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

if(sum[i]>max)

{

max=sum[i];

index=i;

}

printf(“總分最高的學生是%s\n”,s[index]。sname);

}

main()

{

inPutdata();

outPut_average();

outPut_name();

}

學習C語言的第二十八課!

C語言程式