输入每个值连续出现几次的问题(其中包括while括号中出现任意输入问题)

 1 #include<iostream>
 2 int main()
 3 {
 4     //统计输入的每个值,连续出现了多少次
 5     std::cout<<" please enter the number :\n";
 6     int i_num,i_bef=0;
 7     int i=1;
 8     if(std::cin>>i_bef)//这样做保证了输入的数字有效
 9     {
10         while(std::cin>>i_num)
11         {
12             if(i_bef==i_num)
13             {
14                 i++;
15             }
16             else
17             {
18                 std::cout<<i_bef<<" is show "<<i<<" times\n";
19                 i_bef=i_num;
20                 i=1;
21             }
22         }
23         std::cout<<i_bef<<" is show "<<i<<" times \n"; // :while没有终止符不可能停在这了
24     }
25     return 0;
26 }

这其中包括很多知识点和易错点:

1.输入数据中,之后一个数字有可能会忘记输出,看源程序中当输入最后一个字符的时候,只有if不会调到else中,因此就会造成最后一种数字的丢失。

2.在while循环外添加最后一个值的个数表示的时候,需要while循环完毕才能实现,然而while循环中是针对std::cin二判定的,所以又像之前的问题了。

加油!我就不信我学不好c++!!!!!

posted @ 2017-02-21 16:52  小陈同学啦  阅读(308)  评论(0编辑  收藏  举报