輸入3個學生的姓名和英語、數學成績,需要求每個學生的總成績並對3個學生按總成績降序輸出,請編寫乙個類student,實現該功能。
student類的資料成員包括(但不限於)name(姓名,型別為string)、math(數學)、english(英語)。要求用成員函式實現以下功能:
1、使用建構函式給各屬性賦初值
2、呼叫例項方法計算學生總成績
3、其它必要的功能
另設計乙個函式對學生按總成績降序排列,並在main函式中輸出學生資訊。
main函式的實現參考如下**,請設計student類和sortstudent函式。
main函式中宣告了乙個陣列,包含三個物件,然後輸入必要資訊,給三個物件賦值並計算總成績,之後對陣列排序並按總成績降序輸出學生姓名及其成績。
對於兩個總成績相同的學生,排序後不改變他們原來的順序。
int main()
student s[3],temp;
string sname;//或char sname[20];
int smath, senglish;
int i;
for(i=0; i<3; i++)
cin>>sname>>smath>>senglish;
s[i]=student(sname, smath, senglish);
s[i].calctotal();
sortstudent(s, 3);
for(i=0;i<3;i++)
cout輸入三行,表示三個學生的資訊,每一行包括學生姓名、數學成績、英語成績,中間以空格分隔。
成績為0到100之間的整數。
輸出三行,按總成績降序輸出學生姓名及其數學成績、英語成績、總成績。
如果有兩個學生總成績相同,那麼原來排在前的學生先輸出。
john 80 90kevy 85 90
lucy 90 80
kevy 85 90 175john 80 90 170
lucy 90 80 170
#include#include#include#include#include#include#include#include#include#include#includeusing namespace std;
class student ;
student::student(void)
void student::calctotal()
student::student(string s, int x, int y)
int student::getmath()
int student::getenglish()
int student::gettotal()
string student::getname()
void sortstudent(student a,int n)
int main()
sortstudent(s, 3);
for (i = 0; i < 3; i++)
return 0;
}
6 合併排序陣列
題目要求 合併兩個排序的整數陣列甲和乙變成乙個新的陣列。樣例給出 a 1,2,3,4 b 2,4,5,6 返回 1,2,2,3,4,4,5,6 挑戰 你能否優化你的演算法,如果其中乙個陣列很大而另乙個陣列很小?實現 使用向量,和其中的的push back函式 class solution publi...
6 合併排序陣列
合併兩個排序的整數陣列a和b變成乙個新的陣列。樣例 給出a 1,2,3,4 b 2,4,5,6 返回 1,2,2,3,4,4,5,6 先上乙個無腦的,可以ac 1 vector mergesortedarray vector a,vector b 6sort a.begin a.end 7retur...
java基礎6 陣列 排序 查詢 多維陣列
陣列 陣列可以存放 多個同一類資料 養雞場 有很多雞 體重各不一樣 怎麼算他們的平均體重 語法 陣列的定義 資料型別 陣列名 new 資料型別 大小 int a new int 5 int a 也可以 還可以 int a 1,2,3,4,5 陣列的引用 陣列名 下標 a 3 public class...