C++统计输入的每个值出现了多少次

统计输入的每个值出现了多少次

#include
int main() {
     

	int currVal = 0, val = 0;
	if (std::cin >> currVal) {
     //保证有数能被读取,读取第一个数,写入currVal,
		int cnt = 1;//现在读取的数字是1个
		while (std::cin >> val) {
     //此循环结构用于读取剩余的数
			if (val == currVal)
				++cnt;//如果与上一个数相同,则计数cnt加一
			else {
     //否则,打印上一个值连续出现了多少次
				std::cout << currVal << " occurs " << cnt << " times " << std::endl;
				currVal = val;//更新currVal为新数
				cnt = 1;//重置计数器
			}
		}//当读取到最后一个数,再执行while结构会跳出循环,需要有下面的语句来收尾
		std::cout << currVal << " occurs " << cnt << " times " << std::endl;//打印最后一个值连续出现次数
	}
	return 0;
}

结果示例
C++统计输入的每个值出现了多少次_第1张图片

参考文献:C++ primer 中文版 1.4.4
注:输入数字串时,需要用文件结束符来结束输入,windows是crtl+Z,再enter,详见本书P14.

你可能感兴趣的:(C++,c++)