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

时间:2023-03-09 08:30:35
输入每个值连续出现几次的问题(其中包括while括号中出现任意输入问题)
 #include<iostream>
int main()
{
//统计输入的每个值,连续出现了多少次
std::cout<<" please enter the number :\n";
int i_num,i_bef=;
int i=;
if(std::cin>>i_bef)//这样做保证了输入的数字有效
{
while(std::cin>>i_num)
{
if(i_bef==i_num)
{
i++;
}
else
{
std::cout<<i_bef<<" is show "<<i<<" times\n";
i_bef=i_num;
i=;
}
}
std::cout<<i_bef<<" is show "<<i<<" times \n"; // :while没有终止符不可能停在这了
}
return ;
}

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

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

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

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