这代码80分,求大佬讲解一下

#include <algorithm>
#include <cstring>
using namespace std;
int b[26];
int main()
{
	string s;
	getline(cin,s);
	do
	{
		for(int i=0;i<s.length();i++)
		{
			if(s[i]>='a'&&s[i]<='z')
			{
				b[s[i]-'a']++;
				s[i]=' ';
			}
		}
	}while(getline(cin,s)&&s[0]!=char(0));
	for(int i=0;i<=25;i++)
	{
		if(b[i]!=0)
		{
			cout<<char('a'+i)<<':'<<b[i];
			cout<<endl;
		}	
	}
	return 0;
}