[求助]解释一下这个程序每句意思谢谢
#include <iostream>
using namespace std;
void main()
{
int i;
char word;
string str;
while ((word = cin.get()) != '\n')
{
for (i = 1;i < str.size();i++)
{
if(str[i]>='A'&&str[i]<='Z')
str[i]+=32;
}
str += word;
}
for (i = 1;i < str.size();i++)
{
if (str[i] < str[i-1])
{
char temp = str[i];
int j = i;
do
{
str[j] = str[j-1];
--j;
}
while (j > 0 && temp < str[j-1]);
str[j] = temp;
}
}
for (int k = 0;k< str.size();k++)
cout<<str[k]<<endl;
}