北理工计算机复试上机 2009

1.请输入字符串,最多输入4个字符串,要求后输入的字符串排在前面,例如
  输入:EricZ
  输出:1=EricZ
  输入:David
  输出:1=David 2=EricZ

 1 /**
 2 1.请输入字符串,最多输入4个字符串,要求后输入的字符串排在前面,例如
 3 输入:EricZ
 4 输出:1=EricZ
 5 输入:David
 6 输出:1=David 2=EricZ
 7 */
 8 #include<iostream>
 9 #include<list>
10 #include<string>
11 
12 using namespace std;
13 
14 int main(){
15     list<string> l;
16     string s;
17     int i=0;
18     list<string>::iterator x;
19     cout<<"请输入至多4个字符串,输入00结束"<<endl;
20     int j;
21     while(cin>>s){
22         if(s=="00")break;
23         i++;
24         if(i==4)break;
25         l.push_front(s);
26         for(x=l.begin(),j=1;x!=l.end();x++,j++){
27             cout<<j<<" "<<(*x)<<" ";
28         }
29     }
30     return 0;
31 }//main

2.把上述最后结果保存到Name.txt中

 1 /**
 2 1.请输入字符串,最多输入4个字符串,要求后输入的字符串排在前面,例如
 3 输入:EricZ
 4 输出:1=EricZ
 5 输入:David
 6 输出:1=David 2=EricZ
 7 2.
 8 把上述最后结果保存到Name.txt中
 9 */
10 #include<iostream>
11 #include<list>
12 #include<string>
13 #include<fstream>
14 
15 using namespace std;
16 
17 int main(){
18     list<string> l;
19     string s;
20     int i=0;
21     list<string>::iterator x;
22     cout<<"请输入至多4个字符串,输入00结束"<<endl;
23     int j;
24     ofstream fs;
25     fs.open("Name.txt");
26 
27     while(cin>>s){
28         if(s=="00")break;
29         i++;
30         if(i==4)break;
31         l.push_front(s);
32     
33         for(x=l.begin(),j=1;x!=l.end();x++,j++){
34             cout<<j<<" "<<(*x)<<" ";
35         }
36     }
37     for(x=l.begin(),j=1;x!=l.end();x++,j++){
38         fs<<(*x)<<endl;
39     }
40     return 0;
41 }//main

3.先输入一组数,然后输入其分组,按照分组统计出现次数并输出
例如,输入数据3,2,3,8,8,2,3  输入对应分组1,2,3,2,1,3,1
输出:
1={2=0,3=2,8=1}
2={2=1,3=0,8=1}
3={2=1,3=1,8=0}
即每组中各数据出现的次数(抄的,绝妙的设计,高手)

 1 #include<iostream>
 2 #include<deque>
 3 #include<map>
 4 using namespace std;
 5 void show(map<int,int>a)
 6 {
 7     map<int,int>::iterator i;
 8     for(i=a.begin(); i!=a.end(); i++)
 9         cout<<i->first<<"="<<i->second<<" ";
10 }
11 main()
12 {
13     int    a;
14     deque<int> arr1,arr2;
15     map<int,map<int,int>>    mmap;
16     cout<<"请输入数据"<<endl;
17     while(cin>>a)
18     {
19         if(a==0)break;
20         arr1.push_front(a);
21     }
22     cout<<"请输入分组"<<endl;
23     while(cin>>a)
24     {
25         if(a==0)break;
26         arr2.push_front(a);
27     }
28     deque<int>::iterator  it1,it2;
29     for(it1=arr1.begin(),it2=arr2.begin(); it1!=arr1.end(); it1++,it2++)
30         ((mmap[*it2])[*it1])++;
31     map<int,map<int,int>>::iterator    i;
32     for(i=mmap.begin(); i!=mmap.end(); i++)
33     {
34         cout<<i->first<<"={";
35         show(i->second);
36         cout<<"}"<<endl;
37     }
38 }
原文地址:https://www.cnblogs.com/PPWEI/p/8458432.html