首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

C++高手指教啊该如何解决

2012-02-12 
C++高手指教啊。。。书上的一个作业答案,是统计ff、fl、fi出现的次数,但是出现fff岂不是要把ff的次数变为2了,以

C++高手指教啊。。。
书上的一个作业答案,是统计ff、fl、fi出现的次数,但是出现fff岂不是要把ff的次数变为2了,以此类推是不是有点不恰当啊?要是只能将两个ff出现一次才计数加1的话应该怎么改呢?
#include<iostream>
using namespace std;
int main(){
  char currch,prech;
 int ffcnt=0,flcnt=0,ficnt=0;
 while(cin>>currch){
 if(prech=='f')
  switch (currch){
  case 'f':++ffcnt; break;
  case 'l':++flcnt; break;
  case 'i':++ficnt; break;
 }
 prech=currch;
 }
 cout<<"number of 'ff'"<<ffcnt<<'\n';
  cout<<"number of 'fi'"<<ficnt<<'\n';
 cout<<"number of 'fl'"<<flcnt<<endl;
 return 0;
}



[解决办法]
你的程序没有退出的给你加了个退出“currch == 27”遇到ESC退出
下面是你想要的功能:
1 #include<iostream>
2 using namespace std;
3 int main(void){
4 char currch,prech;
5 int ffcnt=0,flcnt=0,ficnt=0;
6 while(cin>>currch){
7 if (currch == 27)
8 break;
9 if(prech=='f')
 10 switch (currch){
 11 case 'f':++ffcnt; break;
 12 case 'l':++flcnt; break;
 13 case 'i':++ficnt; break;
 14 }
15 if (prech=='f' && currch=='f')
16 prech='\0';
17 else
 18 prech=currch;
 19 }
 20 cout<<"number of 'ff'"<<ffcnt<<'\n';
 21 cout<<"number of 'fi'"<<ficnt<<'\n';
 22 cout<<"number of 'fl'"<<flcnt<<endl;
 23 return 0;
 24 }

热点排行