我写了一个,但答案不对,希望帮忙改一下,谢谢

string类实现求最大字符串。
输入为由空格分隔的5个非空字符串,每个字符串不包括空格、制表符、换行符等空白字符,长度小于80。

输出格式:
按照以下格式输出排序后的结果:

After sorted:
每行一个字符串

输入样例:
red yellow blue green white

输出样例:
After sorted:
blue
green
red
white
yellow

这是我写的答案
#include<iostream>

#include
using namespace std;
int main()
{
string str[5],temp;
int i,j,k,m;
for(i=0;i {
cin>>str[i];
}
for(j=0;j { m=j;
for(k=j+1;k if(str[m]>str[k])
m=k;
if(m!=j)
temp=str[j];
str[j]=str[m];
str[m]=temp;

}
cout<<"After sorted:";
for(i=0;i<5;i++)
{
cout<<endl<<str[i];
}

}

#include <iostream>
#include <string>
using namespace std;
int main()
{
    string str[5],temp;
    int i,j,k,m;
    for(i=0;i < 5; i++){
        cin>>str[i];
    } 
    for(j=0;j < 5; j++)
    { 
        m=j;
        for(k=j+1;k<5; k++)
            if(str[m]>str[k])
                m=k;
        if(m!=j)
        {
            temp=str[j];
            str[j]=str[m];
            str[m]=temp;
        }
    }
    cout<<"After sorted:";
    for(i=0;i<5;i++)
    {
        cout<<endl<<str[i];
    }
}