C++Primer第五版 5.5.1节练习

来源:互联网 发布:js实现类是什么 编辑:程序博客网 时间:2024/06/06 18:30

练习5.20:编写一段程序,从标准输入中读取string对象的序列直到连续出现两个相同的单词或者所有单词都读完为止。使用while循环一次读取一个单词,当一个单词连续出现两次时使用break语句终止循环。输出连续重复出现的单词,或者输入一个消息说明没有任何单词是连续重复出现的。
答:程序见云盘程序。
练习5.20

/**2015/6/7 *练习5.20 *输出第一次连续出现两次的词或给出信息没有重复出现的字符串 *作者:Nick Feng *练习方式:nickgreen23@163.com *还是模仿统计单词的套路,只不过,将统计的次数换为一个标志位,重复的位置标识为1,不同的标识为0 */ #include <iostream>#include <string>#include <vector>using namespace std;int main(){    string word,nextword;    string saveword;    int flag = 0; //定义一个标志位     if (cin >> word)    {           while (cin >> nextword && nextword !="999") //输入以999为结束         {                   if (nextword == word)                {                    saveword = word;                    flag = 1;//连续出现两个相同的,置为1                     //cout << word << endl;                    break;//出现两次相同的,就停止                 }            else                {                word = nextword;                flag = 0;//标志位置为0,说明没有找到                }                                                }    }     if (flag == 0) cout << "No Finding!!!" << endl;      if (flag == 1) cout << "Finding it: "  << saveword << endl;    return 0;} 
0 0
原创粉丝点击