显然去除最小的字母,然后输出剩下的字符即可。
但是第一次写忘记了一个特殊情况:所有字母都相等且等于z。写代码时下意识地认为给出的字符串总有小于z的,就算等于z,也可以输出一个z,但没有考虑到此时index没有被更新。
#include<cstdio> #include<iostream> #include<cstring> using namespace std; int main(){ int t; scanf("%d",&t); while(t--){ string tmpStr; cin>>tmpStr; char minChar='z'; int index=-1; for(int i=0;i<tmpStr.size();i++){ if(tmpStr[i]<=minChar){ minChar=tmpStr[i]; index=i; } } cout<<minChar<<" "; for(int i=0;i<tmpStr.size();i++){ if(index!=i){ cout<<tmpStr[i]; } } cout<<endl; } return 0; }