主题:高手救命啊~~ 这个题~~
从键盘输入n行字符(如:n个英文句子),每行不超过80个字符,以回车结束每一行。统计出各行所具有的“单词”个数(“单词”被定义为以字母开头的连续字母串)。
我只知道 怎么做已知行的 比如 三行的 这样~~
char a[80];
int j,i=0;
static int n[4];
cout<<"输入3行字符(如:3个英文句子),每行不超过80个字符,以回车结束每一行"<<endl;
cin.getline(a,80);
for(j=0;j<=2;j++){
cin.getline(a,80);
if((a[0]>='a'&&a[0]<='z')||(a[0]>='A'&&a[0]<='Z'))
n[j]++;
while(a[i]!='\0'){
i++;
if(a[i]==' ')
if((a[i+1]>='a'&&a[i+1]<='z')||(a[i+1]>='A'&&a[i+1]<='Z'))
n[j]++;
}
i=0;
}
for(j=0;j<=2;j++)
cout<<"第"<<j+1<<"行有单词"<<n[j]<<"个。"<<endl;
但是 数组是不能不给size的吧~~ 怎么办呢~
我只知道 怎么做已知行的 比如 三行的 这样~~
char a[80];
int j,i=0;
static int n[4];
cout<<"输入3行字符(如:3个英文句子),每行不超过80个字符,以回车结束每一行"<<endl;
cin.getline(a,80);
for(j=0;j<=2;j++){
cin.getline(a,80);
if((a[0]>='a'&&a[0]<='z')||(a[0]>='A'&&a[0]<='Z'))
n[j]++;
while(a[i]!='\0'){
i++;
if(a[i]==' ')
if((a[i+1]>='a'&&a[i+1]<='z')||(a[i+1]>='A'&&a[i+1]<='Z'))
n[j]++;
}
i=0;
}
for(j=0;j<=2;j++)
cout<<"第"<<j+1<<"行有单词"<<n[j]<<"个。"<<endl;
但是 数组是不能不给size的吧~~ 怎么办呢~