1 #include<iostream> 2 int main() 3 { 4 //统计输入的每个值,连续出现了多少次 5 std::cout<<" please enter the number : "; 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 "; 19 i_bef=i_num; 20 i=1; 21 } 22 } 23 std::cout<<i_bef<<" is show "<<i<<" times "; // :while没有终止符不可能停在这了 24 } 25 return 0; 26 }
这其中包括很多知识点和易错点:
1.输入数据中,之后一个数字有可能会忘记输出,看源程序中当输入最后一个字符的时候,只有if不会调到else中,因此就会造成最后一种数字的丢失。
2.在while循环外添加最后一个值的个数表示的时候,需要while循环完毕才能实现,然而while循环中是针对std::cin二判定的,所以又像之前的问题了。
加油!我就不信我学不好c++!!!!!