數(shù)據(jù)結(jié)構(gòu)編程練習(xí)
數(shù)據(jù)結(jié)構(gòu)編程練習(xí)按要求完成下面的編程,記錄并分析輸出結(jié)果。1.指針運(yùn)用指針操作數(shù)組定義一個數(shù)組,并初始化;int m5=3,5,7,2,9;定義一個指針變量,并將數(shù)組的首地址賦給它;int *p=m;運(yùn)用指針p輸出數(shù)組的各元素。for(int i=0;i<5;+i) cout<<*(p+i)<<cout<<endl;將上面數(shù)組的輸出改用函數(shù)實(shí)現(xiàn),函數(shù)的聲明如下 void print(int *m,int n);2.引用變量的引用定義一個變量;int a=9;定義一個引用,并初始化;int &b=a;給b賦一個值;b=100;輸出a、b的值;定義一個指針p,并用a的地址初始化p,然后通過引用p修改其指向的內(nèi)存空間的值;int *p=&a;*p=80;再次輸出a、b的值。引用作為函數(shù)參數(shù)將上述操作改成函數(shù)調(diào)用,函數(shù)定義如下:void fun(int & e) e=100;void fun(int *p)*p=80;3.結(jié)構(gòu)體定義結(jié)構(gòu)體類型定義一個結(jié)構(gòu)體類型用于存儲學(xué)生信息(含學(xué)號、姓名和成績)struct Studentint sno;string name;int grade;;定義5個Student變量,并初始化;Student s1=1, "Wang”,85;Student s2=2, "Zhang”,60;輸出這些學(xué)生的信息;cout<<s1.sno<< t<<s1.name<< t<<s1.grade<<endl;將s2的成績改為90;s2.grade=90;定義一個數(shù)組來保存這些學(xué)生信息Student m5=s1,s2,s3,s4,s5;統(tǒng)計這些學(xué)生的平均成績,并輸出。將上述操作改為函數(shù)調(diào)用相關(guān)函數(shù)聲明如下:void print(Student m,int n);int avg(Student m,int n);4.函數(shù)指針定義如下兩個函數(shù):int comp(Student a,Student b) if(a.grade>=b.grade)return 1;elsereturn 0;Student findBest(Student m口,int n,int (*compare)(Student,Student) Student temp=m0;for(int i=1;i<n;+i)if(compare(mi,temp) temp=mi;return temp;編寫程序,找出成績最高的學(xué)生,并輸出其信息。