网上看到的一个百度实习生笔试题
编写函数,统计在某段英文文本完整句子的数目,文本只包括大小写英文字母,空格,点号(.),逗号(,),完整句子必须包含至少一个字母并以一个点号结束。
实现了一下,不知道可有漏洞
#include <iostream>
#include <fstream>
using namespace std;
#define maxsize 1024
int get_sentence_num()
{
fstream file1("I:\\origin.txt");
char ch,des_ch[maxsize];
int flag = 0, i = 0,result=0;
while(1)
{
file1>>ch;
if(!file1.eof())
{
des_ch[i] = ch;
if(((ch >= 'a')&&(ch <= 'z')) ||((ch >='A') && (ch <= 'Z')))
{
flag = 1;
}
else if(ch == '.')
{
if(1 == flag)
{
flag = 0;
result++;
}
}
else
{
continue;
}
i++;
}
else
{
break;
}
}
return result;
}
int main()
{
cout<<"The result is "<<get_sentence_num();
return 0;
}