第 1 頁:程序填空題 |
第 2 頁:程序改錯題 |
第 3 頁:程序設(shè)計題 |
第 4 頁:參考答案 |
三、程序設(shè)計題
學(xué)生的記錄由學(xué)號和成績組成,M名學(xué)生的數(shù)據(jù)已在主函數(shù)中放人結(jié)構(gòu)體數(shù)組stu中,請編寫函數(shù)proc(),其功能是:按分?jǐn)?shù)的高低排列學(xué)生的記錄,高分在前。
注意:部分源程序給出如下。
請勿改動main()函數(shù)和其他函數(shù)中的任何內(nèi)容,僅在函數(shù)proc()的花括號中填人所編寫的若干語句。
試題程序:
#include
#define M l6
typedef struct
{
char num[10];
int s;
}
STREC;
void proc(STREC a[])
{
int i,j;
STREC t:
for(i=1;i 排序*/
for(j=0;j if(a[j].s 的記錄,高分在
前*/
{t=a[j];a[j]=a[j+1];a[j+1]=t;)
)
void main()
{
STREC stu[M]={{"GA005",85),{"GA003",
76},
{"GA002",59),{"GA004",85},{"GA001",91),
{fIGA007”,72),{"GA008",64),("GA006",87),
{”GAOl5”,"t5},{"GA013",91),{"GA012",64},
{"GA014",91),{"GAO11",66},{"GA017",64),
{¨GA018",64),{¨GA016",72));
int i;
proc(stu);
printf("The data after sorted:\n");
for(i一0;i {
if(i%4==O)
//每行輸出4個學(xué)生記錄
printf("\n");
printf("%S%4d",stu[i].mum,stu[i].s);
}
printf("\n");
}
相關(guān)推薦:
北京 | 天津 | 上海 | 江蘇 | 山東 |
安徽 | 浙江 | 江西 | 福建 | 深圳 |
廣東 | 河北 | 湖南 | 廣西 | 河南 |
海南 | 湖北 | 四川 | 重慶 | 云南 |
貴州 | 西藏 | 新疆 | 陜西 | 山西 |
寧夏 | 甘肅 | 青海 | 遼寧 | 吉林 |
黑龍江 | 內(nèi)蒙古 |