从键盘输入一段英文,统计并输出单词个数

额 是c++的

//有一篇文章,共有3行文字,每行有80个字符。要求分别统计出其中英文大写字母、小写字母、数字、空格以及其他字符的个数。
# include <iostream.h>
# include <stdio.h>
void main()
{
char ch[3][80];
cout<<"请输入短文,每行80个字符,回车结束:"<<endl;
for(int i=0;i<3;i++)
gets(ch[i]);
for(i=0;i<3;i++)
{
int x=0,y=0,z=0,m=0,n=0;
for(int j=0;j<80;j++)
if(ch[i][j]=='\0')
break;
else if('A'<=ch[i][j]&&ch[i][j]<='Z')
x++;
else if('a'<=ch[i][j]&&ch[i][j]<='z')
y++;
else if('0'<=ch[i][j]&&ch[i][j]<='9')
z++;
else if(ch[i][j]==' ')
m++;
else
n++;
cout<<"第"<<i+1<<"行共有大写字母"<<x<<"个,小写字母"<<y<<"个,数字"<<z<<"个,空格"<<m<<"个,其他字符"<<n<<"个。"<<endl;
}
}

呵呵,不是原题,纯参考,我做任务的,不想太糊弄,就给你段代码参考下……加油,自己写很容易的!!
温馨提示:答案为网友推荐,仅供参考
第1个回答  2011-03-20
/*C*/
#include <stdio.h>
int main()
{
char string[81];
int i;
int num = 0; /* 统计单词个数 */
int word = 0; /* 是否为单词的标示 */
char c;

gets(string);
for (i = 0; (c = string[i]) != '\0'; i++)
{
if (c == ' ')
word = 0;
else
if (word == 0)
{
word = 1;
num++;
}
}
printf("\nThere are %d words int the line.\n", num);
return 0;
}
第2个回答  2011-04-01
;
#include <string.h>
#include <stdio.h>
#include <iostream.h>

int main(int argc, char* argv[])
{

char x[1000];
unsigned int i=0 ;
int n=0 ;
char flag=0;

cin.getline(x,255);
strcat(x," ");

for(i=0;i<strlen(x);i++)
{
if(((x[i]>='a')&&(x[i]<='z'))||((x[i]>='A')&&(x[i]<='Z')))

else
{
if (flag==1 ) n++;
flag=0;
}

}

printf("%d\n",n);

getchar();
return 0;
}
另外,站长团上有产品团购,便宜有保证
第3个回答  2011-03-21
#include<iosteam>
using namespace std;
int main()
{
char string[81];
int i;
int num = 0; /* 统计单词个数 */
int word = 0; /* 是否为单词的标示 */
char c;

gets(string);
for (i = 0; (c = string[i]) != '\0'; i++)
{
if (c == ' ')
word = 0;
else
if (word == 0)
{
word = 1;
num++;
}
}
cout<<num<<endl;
return 0;

}
第4个回答  2011-03-21
能不能把文字复制到word里呢?
word里的工具栏下有字数的统计呀本回答被提问者采纳
相似回答