c++输入多行文字,以空行结束。统计每个字母出现的个数。
#include<iostream>
#include<cstdio>
#include<cstring>
using namespace std;
class total{
public:char a[26];
char s[200];int i;
void enter(){
}
void cale();
void puts(); };
void total::cale(){ for(i=0;s[i]!='\0';i++){ if(s[i]>='A'&&s[i]<='Z')
a[s[i]-'A']++;
if(s[i]>='a'&&s[i]<='z') a[s[i]-'a']++;}
}
void total::puts(){
for(i=0;i<26;i++)if(a[i])
printf("%c %d\n",i+'a',a[i]); }
int main(){
total sum; memset(sum.a,0,sizeof(sum.a)); sum.enter(); sum.cale(); sum.puts(); return 0;}代码如上,enter函数里改怎么写,才能空行结束。开始用的,gets函数,空行的确有,但是没输出啊,字母个数全是零。大佬们帮帮忙