1. 程式人生 > >北理工計算機復試上機 2014

北理工計算機復試上機 2014

pre [] 紅色 esp .com std pos fine huang

本人也是練習,如果有錯誤,歡迎指正[email protected],也可留言

1. 系統中有最近打開文件的記錄,現用整數表示打開的文件名,且顯示最近3個打開的文件,輸出文件序列。

  示例:

    輸入:1 輸出:1

    輸入:2 輸出:2,1

    輸入:3 輸出:3,2,1

    輸入:4 輸出:4,3,2

    輸入:1 輸出:1,4,3

    輸入:4 輸出:1,4,3

    輸入:3 輸出:1,4,3

 1 // 2014_1.cpp : Defines the entry point for the console application.
2 // 3 4 #include<iostream> 5 using namespace std; 6 7 char a[3]={0,0,0}; 8 char c=z; 9 int pos=2; 10 11 void q_in(){ 12 int flag=0; 13 for(int i=0;i<3;i++){ 14 if(a[i]==c)flag=1; 15 } 16 if(flag==0){ 17 for(int i=0;i<2;i++)a[i]=a[i+1]; 18 a[2
]=c; 19 } 20 } 21 void q_out(){ 22 for(int i=2;i>=0;i--) 23 if(a[i]!=0){ 24 if(i!=2)cout<<","; 25 cout<<a[i]; 26 } 27 } 28 29 30 int main(int argc, char* argv[]) 31 { 32 33 34 cout<<"輸入:"; 35 cin>>c; 36 while
(c!=0){ 37 q_in(); 38 cout<<"輸出:"; 39 q_out(); 40 cout<<"\n輸入:"; 41 cin>>c; 42 } 43 return 0; 44 }

2.在第一題基礎上,稍作改動,顯示最新打開的文件(紅色為修改代碼)

示例:

    輸入:1 輸出:1

    輸入:2 輸出:2,1

    輸入:3 輸出:3,2,1

    輸入:4 輸出:4,3,2

    輸入:1 輸出:1,4,3

    輸入:4 輸出:4,1,3

    輸入:3 輸出:3,4,1

 1 // 2014_2.cpp : Defines the entry point for the console application.
 2 //
 3 
 4 #include<iostream>
 5 using namespace std;
 6 
 7 char a[3]={0,0,0};
 8 char c=z;
 9 int pos=2;
10 
11 void q_in(){
12     int flag=-1;
13     for(int i=0;i<3;i++){
14         if(a[i]==c)flag=i;
15     }
16     if(flag==-1){
17         for(int i=0;i<2;i++)a[i]=a[i+1];
18         a[2]=c;
19     }else{//flag!=-1
20         cout<<"flag="<<flag<<endl;
21         for(int j=flag;j<2;++j)a[j]=a[j+1];
22         a[2]=c;
23 
24     }
25 }
26 void q_out(){
27     for(int i=2;i>=0;i--)
28         if(a[i]!=0){
29             if(i!=2)cout<<",";
30             cout<<a[i];
31         }
32 }
33 
34 int main()
35 {
36     cout<<"輸入:";
37     cin>>c;
38     while(c!=0){
39         q_in();
40         cout<<"輸出:";
41         q_out();
42         cout<<"\n輸入:";
43         cin>>c;
44     }
45     return 0;
46 }

3. 求廣義表深度,示例:

  輸入:(c,((d,e),f),h)

  輸出:3

 1 // 2014_3.cpp : Defines the entry point for the console application.
 2 //
 3 #include<iostream>
 4 #include<string>
 5 using namespace std;
 6 int main(int argc, char* argv[])
 7 {
 8     cout<<"請輸入廣義表:";
 9     string str;
10     cin>>str;
11     int dep=0;
12     int max=0;
13     for(int i=0;i<str.length();i++){
14         if(str[i]==()dep++;
15         if(str[i]==))dep--;
16         if(dep>max)max=dep;
17     }
18     cout<<"\n廣義表深度:"<<max<<endl;
19     return 0;
20 }

北理工計算機復試上機 2014