C++基础编程题(03)统计文件中的英文小说单词数
#include<iostream>
#include<fstream>
using namespace std;
int main()
{
ifstream infile;
infile.open("10.txt");
char ch[100];
int count_sentence=0;
int count_words=0;
cout<<"小说原文如下:"<<endl;
while(infile.getline(ch,100))
{
cout<<ch<<endl;
int i=0;
while(ch[i] == ' ')i++; //先跳过小说段落开头的空格
while(ch[i]!='\0') //接下来开始统计单词数量,注意只有检查到单词最后一个字母加逗号
{ //或者最后一个字母加句号诸如此类的情况,才算是一个单词。
int m = i+1;
if(((ch[i]<='Z'&&ch[i]>='A')||ch[i]<='z'&&ch[i]>='a')&&ch[m]==' ')count_words++;
else if(((ch[i]<='Z'&&ch[i]>='A')||ch[i]<='z'&&ch[i]>='a')&&ch[m]=='.')count_words++;
else if(((ch[i]<='Z'&&ch[i]>='A')||ch[i]<='z'&&ch[i]>='a')&&ch[m]==',')count_words++;
else if(((ch[i]<='Z'&&ch[i]>='A')||ch[i]<='z'&&ch[i]>='a')&&ch[m]=='\0')count_words++;
else if(((ch[i]<='Z'&&ch[i]>='A')||ch[i]<='z'&&ch[i]>='a')&&ch[m]=='\"')count_words++;
else if(((ch[i]<='Z'&&ch[i]>='A')||ch[i]<='z'&&ch[i]>='a')&&ch[m]=='!')count_words++;
else if(ch[m]=='.'&&ch[m]=='\"')count_words++;
else if(ch[m]==')'&&ch[m]==',')count_words++;
else if(ch[m]==')'&&ch[m]==',')count_words++;
i++;
}