欢迎来到天天文库
浏览记录
ID:10218337
大小:28.50 KB
页数:7页
时间:2018-06-12
《c++程序测量一个字符串中的单词个数(多种方法)》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、#includevoidmain(){charstr[81];inti,num=0,word=0;charc;cout>>"pleaseinputthestring:";gets(str);for(i=0;(c=str[i])!=' ';i++){if(c=='')word=0;elseif(word==0){word=1;num++;}}cout>>"Thereare%dwordsintheline.">>num;}这个练习题不错,如果把空格换成非字符符号,可以用来统计文章中的单词数。#include#includei
2、ntmain(){charstr[50];intword;intn=0;inti;printf("Input:");gets(str);for(i=0;i<50-1;i++){if(str[i]==''){word=1;}if(word){n++;word=0;}}printf("Output:Thereareis%dintehline.",n);system("pause");return0;}给你个思路吧。设定一个字符数组,或者直接用string对象,从键盘接收一个字符串到该字符数组或字符串对象中。然后设一个变量i用以遍历字符串,如果遇到第i位是空格或者标点,则空格或标点数加1
3、,并检查第i-1位是否为字母,如果i-1位是字母,说明刚刚遍历过去的是一个单词,则单词数加1,否则(i-1位不是字母)就继续往下走。当然你还要设三个变量存储空格、标点和单词的数量。期间还要注意一些问题,比如字符串首位是标点或者空格的问题等等。#includeintmain(){chara,t;intwd=0,sp=0,pc=0,temp=0;cout<<"请输入一行任意字符:";a=cin.get();if(a==''){cout<<"Word"<<","<<"spacebar"<<","<<"punctuation"<4、<0<<","<<0<5、6、a=='.'7、8、a==';'9、10、a=='?'11、12、a=='''13、14、a=='"'15、16、a=='!'){pc++;}elseif(a==''){sp++;}elseif(a>='a'&&a<='z'17、18、a>='A'&&a<='Z');elseother++;t=a;a=cin.get();}if(t!=','19、20、t!='.'21、22、t!=';'23、24、t!='?'25、26、t!='''27、28、t!='"'29、30、t!='!'){31、wd=sp+pc+1-temp;}elsewd=sp+pc-temp;cout<<"Word"<<","<<"spacebar"<<","<<"punctuation"<#include#includeusingnamespacestd;intWordsCount(string&pText);intCountWordsInText(string&pFileName){ifstreamifile;stringtext;int32、words=0;ifile.open(pFileName.c_str());if(ifile.is_open()){while(!ifile.eof()){getline(ifile,text);words+=WordsCount(text);}}ifile.close();returnwords;}intWordsCount(string&pText){intwords=0;string::size_typepos=0;pos=pText.find_first_of('',pos);while(pos!=pText.npos){pos++;words++;pos=pText.find33、_first_of('',pos);}words++;returnwords;}intmain(){stringfile="test.txt";cout<
4、<0<<","<<0<5、6、a=='.'7、8、a==';'9、10、a=='?'11、12、a=='''13、14、a=='"'15、16、a=='!'){pc++;}elseif(a==''){sp++;}elseif(a>='a'&&a<='z'17、18、a>='A'&&a<='Z');elseother++;t=a;a=cin.get();}if(t!=','19、20、t!='.'21、22、t!=';'23、24、t!='?'25、26、t!='''27、28、t!='"'29、30、t!='!'){31、wd=sp+pc+1-temp;}elsewd=sp+pc-temp;cout<<"Word"<<","<<"spacebar"<<","<<"punctuation"<#include#includeusingnamespacestd;intWordsCount(string&pText);intCountWordsInText(string&pFileName){ifstreamifile;stringtext;int32、words=0;ifile.open(pFileName.c_str());if(ifile.is_open()){while(!ifile.eof()){getline(ifile,text);words+=WordsCount(text);}}ifile.close();returnwords;}intWordsCount(string&pText){intwords=0;string::size_typepos=0;pos=pText.find_first_of('',pos);while(pos!=pText.npos){pos++;words++;pos=pText.find33、_first_of('',pos);}words++;returnwords;}intmain(){stringfile="test.txt";cout<
5、
6、a=='.'
7、
8、a==';'
9、
10、a=='?'
11、
12、a=='''
13、
14、a=='"'
15、
16、a=='!'){pc++;}elseif(a==''){sp++;}elseif(a>='a'&&a<='z'
17、
18、a>='A'&&a<='Z');elseother++;t=a;a=cin.get();}if(t!=','
19、
20、t!='.'
21、
22、t!=';'
23、
24、t!='?'
25、
26、t!='''
27、
28、t!='"'
29、
30、t!='!'){
31、wd=sp+pc+1-temp;}elsewd=sp+pc-temp;cout<<"Word"<<","<<"spacebar"<<","<<"punctuation"<#include#includeusingnamespacestd;intWordsCount(string&pText);intCountWordsInText(string&pFileName){ifstreamifile;stringtext;int
32、words=0;ifile.open(pFileName.c_str());if(ifile.is_open()){while(!ifile.eof()){getline(ifile,text);words+=WordsCount(text);}}ifile.close();returnwords;}intWordsCount(string&pText){intwords=0;string::size_typepos=0;pos=pText.find_first_of('',pos);while(pos!=pText.npos){pos++;words++;pos=pText.find
33、_first_of('',pos);}words++;returnwords;}intmain(){stringfile="test.txt";cout<
此文档下载收益归作者所有