例子 课本p15
#include<iostream>
int main()
{
int currval=0,val=0;
//首先判断有无输入,读取第一个数
if(std::cin>>currval)
{
int cnt=1;
//如果有数据输入,那么再判断输入的值是啥
while(std::cin>>val)
{
if(val==currval)
{
++cnt;
}
else
{
std::cout<<currval<<"occurs"
<<cnt<<"times"<<std::endl;
currval=val;
cnt=1; //重置计数器,因为出现的是新值。
}
}
std::cout<<currval<<"occurs"
<<cnt<<"times"<<std::endl;
}
return 0;
}
注意:
在运行的时候,会出现 ”LINK : fatal error LNK1168:“的错误,原因是
VC在重新生成Debug目录下的exe文件时,需要先删除原先的exe文件。但因为文件正在运行或是被锁定等原因,删除不了,于是出现 LNK1168错误。你可以先将原先的exe文件关闭后手工删除(如果找不到窗口,就看看任务管理器中是有这个exe正在运行,存在就强制关闭它)。如果删除失败,则用右键菜单中的36o解除占用试试。我把之前的运行窗口关闭后就解决了这个问题。
有几个疑问:
- 这里计算的是每个数连续出现的次数,而不是总的出现的次数,那要算总的出现的次数,程序怎么改?
- 我写的这个和书本上的一样啊,为什么最后一个数输不出来??
-
- 4.