1. 程式人生 > >資料結構8-順序查詢的例項

資料結構8-順序查詢的例項

程式實現用一個結構體陣列存放學生的記錄,用順序查詢輸出1001編號學生的具體資訊,程式碼如下所示:

#include"stdio.h"
typedef struct student{
	int id; /*學生編號*/
	char name[10]; /*學生姓名*/
	float score; /*成績*/
}Student;

int search(Student stu[],int n,int key){
	int i;
	for(i=0;i<n;i++)
		if(stu[i].id==key) /*查詢成功*/
			return i; 
	return -1; /*查詢失敗*/
}

main()
{
	Student stu[4]={{1004,"TOM",100},
				{1002,"LILY",95},
				{1001,"ANN",93},
				{1003,"LUCY",98}
				};                        /*初始化結構體陣列*/
	int addr;                             /*要查詢的記錄的地址*/
	addr = search(stu,4,1001);
	printf("Student ID:     %d\n",stu[addr].id); /*輸出查詢到的記錄的資訊*/
	printf("Student name:   %s\n",stu[addr].name);
	printf("Student score:  %f\n",stu[addr].score);
	getche();
}

實現的結果如圖所示: