显然去除最小的字母,然后输出剩下的字符即可。

但是第一次写忘记了一个特殊情况:所有字母都相等且等于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;
}