結構體變數和結構體陣列

2021-03-03 23:52:30 字數 3210 閱讀 5848

第一套1、程式填空題(在被調函式中修改並輸出結構體變數的值)

程式通過定義學生結構體變數,儲存了學生的學號、姓名和3門課的成績。函式fun的功能是將形參a所指結構體變數中的資料賦給函式中的結構體變數b,並修改b中的學號和姓名,最後輸出修改後的資料。例如:

a所指變數中的學號、姓名、和三門課的成績依次是:10001、"zhangsan"、95、80、88,則修改後輸出b中的資料應為:10002、"lisi"、95、80、88。

請在程式的下劃線處填入正確的內容並把下劃線刪除, 使程式得出正確的結果。

注意:源程式存放在考生資料夾下的blank1.c中。 不得增行或刪行,也不得更改程式的結構!

#include

#include

struct student

; void fun(struct student a)

main()

; int i;

printf("\n\nthe original data :\n");

printf("\nno: %ld name: %s\nscores: ",s.sno,

for (i=0; i<3; i++) printf("%6.2f ", s.score[i]);

printf("\n");

fun(s);

} 2、程式設計題(在結構體陣列中查詢指定學號的學生資料)

學生的記錄由學號和成績組成,n名學生的資料已在主函式中放入結構體陣列s中,請編寫函式fun,它的功能是:函式返回指定學號的學生資料,指定的學號在主函式中輸入。若沒找到指定學號,在結構體變數中給學號置空串,給成績置-1,作為函式值返回。

(用於字串比較的函式是strcmp)。

注意:部分源程式在檔案prog1.c中。

請勿改動主函式main和其它函式中的任何內容,僅在函式fun的花括號中填入你編寫的若干語句。

#include

#include

#define n 16

typedef struct

strec;

strec fun( strec *a, char *b )

main()

,,,,, , ,,,,, , , ,,};

strec h;

char m[10];

int i;file *out ;

printf("the original data:\n");

for(i=0; iif(i%4==0) printf("\n");

printf("%s %3d ",s[i].num,s[i].s);

}printf("\n\nenter the number: ");gets(m);

h=fun( s,m );

printf("the data : ");

printf("\n%s %4d\n",h.num,h.s);

printf("\n");

}第二套

1、程式填空題(通過被調函式輸出結構體變數各成員的值)

程式通過定義並賦初值的方式,利用結構體變數儲存了一名學生的資訊。函式fun的功能是輸出這位學生的資訊。

請在程式的下劃線處填入正確的內容並把下劃線刪除,使程式得出正確的結果。

注意:源程式存放在考生資料夾下的blank1.c中。 不得增行或刪行,也不得更改程式的結構!

#include

typedef struct

birthday;

float score[3];

}stu;

found

void show(stu ___1___)

main( )

; printf("\na student data:\n");

found

show(___3___);

}2、程式設計題(查詢成績最低的學生記錄)

已知學生的記錄由學號和學習成績構成,n名學生的資料已存入a結構體陣列中。請編寫函式 fun,函式的功能是:找出成績最低的學生記錄,通過形參返回主函式(規定只有乙個最低分)。

注意:部分源程式存在檔案prog1.c檔案中。

請勿改動主函式main和其它函式中的任何內容,僅在函式fun的花括號中填入你編寫的若干語句。

#include

#include

#define n 10

typedef struct ss

stu;

fun( stu a, stu *s )

main ( )

,,,,,,, , , }, m ;

int i;

printf("***** the original data *****\n");

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

printf("no=%s mark=%d\n", a[i].num,a[i].s);

fun ( a, &m );

printf ("***** the result *****\n");

printf ("the lowest : %s , %d\n",m.num, m.s);

} 三、課後練習

1、程式填空題(在被調函式中修改結構體變數的值並返回其值)

程式通過定義學生結構體變數,儲存了學生的學號、姓名和3門課的成績。函式fun的功能是將形參a中的資料進行修改,把修改後的資料作為函式值返回主函式進行輸出。例如:

傳給形參a的資料中,學號、姓名、和三門課的成績依次是:10001、"zhangsan"、95、80、88,修改後的資料應為:10002、"lisi"、96、81、89。

請在程式的下劃線處填入正確的內容並把下劃線刪除, 使程式得出正確的結果。

注意:源程式存放在考生資料夾下的blank1.c中。 不得增行或刪行,也不得更改程式的結構!

#include

#include

struct student

; found

__1__ fun(struct student a)

main()

, t;

int i;

printf("\n\nthe original data :\n");

printf("\nno: %ld name: %s\nscores: ",s.sno,

for (i=0; i<3; i++) printf("%6.2f ", s.score[i]);

printf("\n");

t = fun(s);

printf("\nthe data after modified :\n");

實驗11結構體變數和結構體陣列的應用

一 實驗目的 1 學會定義乙個結構體型別。2 熟練掌握結構體變數的定義以及初始化。3 熟練掌握結構體變數的賦值方法。4 學會使用結構體陣列解決實際問題 二 實驗知識點 1 結構體型別。2 結構體變數的初始化。3 對結構體變數成員的引用的兩種方式。成員運算子和指標運算子 4 結構體陣列的定義以及陣列元...

第五章資料型別 陣列 結構體 共用體

5.1 一維陣列 前面我們使用的都是屬於基本型別 整形 實型 字元型 的資料,c語言還提供了構造型別的資料 陣列 結構體型別 共用體型別。一 一維陣列的定義 型別說明符陣列名 常量表示式 例如 int a 10 說明 1 型別說明指定了陣列的每個元素都屬於某一型別 2 陣列名命名遵循識別符號的使用規...

C語言6 結構體,共用體

選票統計 time limit 1000ms memory limit 65536k 題目描述 某校學生會主席由全校學生投票選舉產生,共有 名候選人報名參選,編號為1到 0 1000 全校有 名學生 0 30000 每人都可以投票。但每人只能投一票,每票只能選1名候選人。請你設計乙個程式能夠統計出哪...