当前位置:编程学习 > C/C++ >>

(字符串的处理4.7.14)UVA 10252 Common Permutation(寻找两个字符串中的共同字符&&按字典序输出)

 
/* 
 * UVA_10252.cpp 
 * 
 *  Created on: 2013年10月28日 
 *      Author: Administrator 
 */  
  
  
#include <iostream>  
#include <cstdio>  
#include <cstring>  
#include <cmath>  
  
using namespace std;  
  
const int maxn = 1010;  
int main(){  
//  char str1[maxn],str2[maxn];  
  
    string str1,str2;  
    while(getline(cin,str1),getline(cin,str2)){//所有输入都是字符串并且每2行为一组测试用例,可以尝试这样输入,用shile(scanf("%s%s",str1,str2))会TLE  
        int len1 = str1.length();  
        int len2 = str2.length();  
  
  
        int a[26];//用来存储字母表  
        int b[26];  
  
        memset(a,0,sizeof(a));  
        memset(b,0,sizeof(b));  
  
        int i;  
        for(i = 0 ; i < len1 ; ++i){//统计str1中每个字符出现的次数  
            a[str1[i] - 'a']++;  
        }  
  
        for(i = 0 ; i < len2 ; ++i){  
            b[str2[i] - 'a']++;  
        }  
  
        for(i = 0 ; i < 26 ; ++i){  
            int time = min(a[i],b[i]);  
  
            while(time--){  
//              printf("%c",i+'a'); 采用这种输出方式会WA,我算彻底服了....我真心看不出哪里有不同  
                cout<<char(i+'a');  
            }  
        }  
  
//      printf("\n");  
        cout<<endl;  
  
    }  
  
    return 0;  
}  

 

补充:软件开发 , C++ ,
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,