为什么我的模拟题总是做得一波三折呢? #include <iostream> #include <string> using namespace std; string s,t; bool f[12]; int i,j,minx,c,minj,a[12],b[12]; int main() { while (cin >> s && s!="THEEND") { memset(f,true,sizeof(f)); memset(a,0,sizeof(a)); for (i=0;i<s.length();i++) { minx=100; for (j=0;j<s.length();j++) if (f[j] && minx>(int)s[j]) { minx=(int)s[j]; minj=j; } f[minj]=false; a[i]=minj; } for (i=0;i<s.length();i++) b[a[i]]=i; cin >> t; c=t.length()/s.length(); for (j=0;j<c;j++) for (i=0;i<s.length();i++) cout << t[b[i]*c+j]; cout << endl; } //system("pause"); return 0; }