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 }