#include
//该程序是要输入多个数字,打印出该数字及出现的次数
int main()
{
int currval=0;
int val=0;
//这两个声明,教材是作一行写的 int currval =0,val=0; 我win10下的VS2010作一行写就报错? 系统原因?编译器?
if(std::cin>>currval)
{
int cnt=1;
while(std::cin>>val)
{
if(currval==val)
{
++cnt;
}
else
{
std::cout<<currval<<" occurs "<<cnt<<" times"<<std::endl;
currval=val;
cnt=1;
}
}
std::cout<<currval<<" occurs "<<cnt<<" times"<<std::endl;
//写完发现跟教材是一样的,但是我这一行没有执行,无法打印出最后那个数字跟它出现的次数。为什么呢?
}
return 0;
}
你是怎么让循环退出的?
这个是你要的么?
#include <iostream>
int main()
{
int currval=0;
int val=0;
if(std::cin>>currval)
{
int cnt=1;
do{
std::cin>>val; //我把输入放在循环里面 用获取的字符是不是'\n'来决定是否继续循环
if(currval==val)
{
++cnt;
}
else
{
std::cout<<currval<<" occurs "<<cnt<<" times"<<std::endl;
//下面两句是为了算每个字符连续输入的几次的么?
//currval=val;
//cnt=1; 如果加这句 得到的就是连续输入的个数 不是总个数
}
}while(std::cin.get()!='\n');//判断该字符是否为'\n'
std::cout<<currval<<" occurs "<<cnt<<" times"<<std::endl;
}
return 0;
}
我也是新手,希望对你有帮助
你看的是第几章啊,我没看找到这个例子啊
int main()
{
int i_value;
bool b_judge=cin>>value;//如果输入非数字,cin会回复false的,然后跳出循环
cout<<b_judge<<endl;
}
原程序最后一次用非数字按键跳出循环