北理工計算機復試上機 2012
阿新 • • 發佈:2018-02-19
計算 des bool 輸入 blog col stream algo 排序
1.輸入10個數,從小到大排序
示例:
輸入:1,2,5,7,9,10,45,67,24,26
輸出:1,2,5,7,9,10,24,26,45,67
1 #include<iostream> 2 using namespace std; 3 int main(){ 4 5 int a[10]={0}; 6 int x=0; 7 while(x<10){ 8 cin>>a[x]; 9 x++; 10 } 11 12 for(int i=10;i>0;i--){ 13 intflag=0; 14 for(int j=1;j<i;j++){ 15 if(a[j-1]>a[j]){ 16 int temp=a[j-1]; 17 a[j-1]=a[j]; 18 a[j]=temp; 19 flag=1; 20 } 21 }//for 22 if(flag==0)break; 23 } 24 25 26 for(int k=0;k<10;k++){ 27 cout<<a[k]<<" "; 28 } 29 cout<<endl; 30 return 0;
}
2.學生有(學號,姓名,性別,年齡),初始化三個學生的信息
(10,wes,f,23)(20,ert,f,45) (30,str,t,89),
然後對學生信息進行插入和刪除處理
例如:
I 12,rt,f,67
表示插入
12,rt,f,67
D10
表示刪除學號為10的學生的信息
每次操作完成以後輸出所有學生的信息按學號從大到
小排序
輸入:
I 12,rt,f,67
輸出(10,wes,f,23),(12,rt,f,67),(20,ert,f,45),(30,str,t,89)
輸入:
D10
輸出:
(12,rt,f,67),(20,ert,f,45),(30,str,t,89)
1 #include<iostream> 2 #include<string> 3 #include<algorithm> 4 #include<vector> 5 using namespace std; 6 7 8 class Student{ 9 public: 10 int id; 11 string name; 12 char sex; 13 int age; 14 }; 15 16 bool des(Student a,Student b){ 17 return a.id>b.id; 18 }; 19 int main(){ 20 vector<Student> students; 21 Student s; 22 s.id=10; 23 s.name="wes"; 24 s.sex=‘f‘; 25 s.age=23; 26 students.push_back(s); 27 28 s.id=20; 29 s.name="wes"; 30 s.sex=‘f‘; 31 s.age=23; 32 students.push_back(s); 33 34 s.id=30; 35 s.name="wes"; 36 s.sex=‘f‘; 37 s.age=23; 38 students.push_back(s); 39 char order; 40 cout<<"請輸入命令"<<endl; 41 vector<Student>::iterator i; 42 43 while(cin>>order){ 44 if(order==‘I‘){ 45 cout<<"親輸入學生信息"<<endl; 46 cin>>s.id>>s.name>>s.sex>>s.age; 47 students.push_back(s); 48 sort(students.begin(),students.end(),des); 49 for(i=students.begin();i!=students.end();i++) 50 { 51 cout<<(*i).id<<" "<<(*i).name<<" "<<(*i).sex<<" "<<(*i).age<<endl; 52 } 53 } 54 if(order==‘D‘){ 55 cout<<"請輸入刪除學號"<<endl; 56 int dnum; 57 cin>>dnum; 58 for(i=students.begin();i!=students.end();i++){ 59 if((*i).id==dnum) 60 { 61 students.erase(i); 62 break; 63 } 64 65 } 66 sort(students.begin(),students.end(),des); 67 for(i=students.begin();i!=students.end();i++) 68 { 69 cout<<(*i).id<<" "<<(*i).name<<" "<<(*i).sex<<" "<<(*i).age<<endl; 70 } 71 } 72 } 73 return 0; 74 }
3.利用後序和中序確定前序遍歷結果
示例:
輸入(按後序、中序):CHBEDA CBHADE
輸出:ABCHDE
北理工計算機復試上機 2012