#include<iostream>
using namespace std;
int main() {
int currVal = 0, val = 0;
if (cin >> currVal)
{
int cnt = 1;//保存我们正在处理的当前值的个数
while (cin >> val) {//读取剩余的数
if (val == currVal)//值相同
++cnt; //计数加一
else {//否则打印前一个值的个数
cout << currVal << "occurs" << cnt << "times" << endl;
currVal = val;//记住新值
cnt = 1;//计数器重置
}
}
//记住打印文件的最后一个值
cout << currVal << "ourrs" << cnt << "times" << endl;
}
return 0;
}
上面是我的代码,目的是从左到右计算每个数出现的次数。
然后下面是我输入数据后敲回车键的结果
下面是我用文件结束符ctrl+z的输出结构
区别是最后一个重复的数是否被计入,我想知道为什么会出现这种差异。