數(shù)據(jù)結構實驗指導與習題解析(C語言版)
定 價:¥25
中 教 價:¥18.75 (7.50折)
庫 存 數(shù): 0
叢 書 名:應用型本科信息大類專業(yè)“十三五”規(guī)劃教材
《數(shù)據(jù)結構實驗指導與習題解析(C語言版)》是與《數(shù)據(jù)結構從應用到實現(xiàn)(C語言版)》配套的輔助教材。本書分為兩大部分,第一大部分,和教材中每章對應,每章的實驗分“基本實驗練習”,“自己動手做練習”和“綜合應用實例”3個部分,力求綜合應用課本中的知識,解決實際生活中的例子;第二大部分,對教材中的課后習題進行了詳細解析。
實驗1結構體基本練習實驗 實驗1 結構體基本練習實驗
一、 實驗目的 掌握結構體類型變量的定義和使用。
二、 基本實驗練習 有n個學生的信息(包括學號、姓名、成績),要求用鍵盤輸入上述各項數(shù)據(jù),按照成績從低到高的順序輸出各學生的信息。 1. 定義一個結構體類型 typedef struct student { int no; /*學號*/ char name\[20\];/*姓名*/ double score;/*成績*/ }STU; 2. 創(chuàng)建結構體數(shù)組 分析 為將創(chuàng)建好的結構體數(shù)組帶回到主調函數(shù),這里使用數(shù)組名作為形式參數(shù)。 void CreateStu(STU s\[\],int n) { int i; for(i=0;i { printf("請輸入第%d個同學的學號:\\n",i+1); scanf("%d",&s\[i\].no); printf("請輸入第%d個同學的姓名:\\n",i+1); scanf("%s",s\[i\].name); printf("請輸入第%d個同學的成績:\\n",i+1); scanf("%lf",&s\[i\].score); } } 3. 對結構體數(shù)組排序 分析這里采用冒泡排序對結構體數(shù)組進行排序,flag是數(shù)組元素交換的標志位,當一趟排序未出現(xiàn)兩兩元素交換則結束排序。 void SortStu(STU s\[\],int n) { int i,j,flag; STU t; for(i=0;i { flag=1; for(j=0;j if(s\[j+1\].score { flag=0; t=s\[j\]; s\[j\]=s\[j+1\]; s\[j+1\]=t; } if(flag) return; } } 4. 輸出結構體數(shù)組 void PrintStu(STU s\[\],int n) { int i; printf("學號姓名 成績\\n"); for(i=0;i { printf("%6d%9s%10.1lf\\n",s\[i\].no,s\[i\].name,s\[i\].score); } }
三、 自己動手做練習 在上述建立的學生信息結構體數(shù)組中,編寫一個函數(shù)int SearchStu(STU s\[\],int n,int no)來實現(xiàn)在長度為n的學生信息結構體數(shù)組s中查找學號為no的學生,若找到了,輸出查找到學生的完整信息,并返回學生所在的數(shù)組下標;否則,提示查找失敗,返回-1。實現(xiàn)后的程序運行界面如圖11所示。 圖11實驗1練習運行界面
四、 綜合應用實例