C++入门基础篇学习手记: 统计在输入中每个值连续出现的次数
2016-12-14 16:03
399 查看
问题:编写C++程序,实现功能:统计输入数据中每个数值连续出现的次数。
功能实现的C++源程序代码:
例如,我们输入数据: 12 12 12 12 55 55 3 66 66,输入结束后,按回车键输出结果为:
12 occurs 4 times.
55 occurs 2 times.
3 occurs 1 times.
66 occurs 2 times.
Tips: 要得到上述结果,一定要输入“文件结束符”。
思考1: 如果输入时没有输入“文件结束符”(数据输入完成后直接敲击Enter键或Return键),输出结果是怎样?
按照上面给出的例子,我们在输入结束后输入“文件结束符”,得到的结构如下:
上面显示的结果是我们预期的。
但是如果我们不输入“文件结束符”,得到的结果却是这样的:
从程序运行结果可以看出,没有输入“文件结束符”时敲击Enter键,程序并没有完成对所有的输入数据的统计和打印工作。这时候程序仍然处于等待输入的状态。如果我们继续输入,直到我们输入“文件结束符”,程序才算真正执行完,如下图:
思考2:如果输入数据时输入同一个数值,输出结果是怎样?如果输入的数据所有数字都不相同,结果又是怎样?
如果输入数值全部相同:
其运行结果是我们预期想要得到的。如果输入数值全不相同:
运行结果也是我们预期要得到的。
思考3:如果同一数值在不同的位置出现重复,输出的结果是怎样?
程序的功能实现了统计某一数值连续出现的次数。
功能实现的C++源程序代码:
#include "iostream" using namespace std; int main() { // currVal 为当前统计的数; inVal为将要输入的新值 int currVal = 0, inVal = 0; // 读取第一个数,并确保确实有数据可以处理 if (cin >> currVal) { int cnt = 1; // 初始化正在统计的当前值的个数 while (cin >> inVal) // 继续读取数据 { if (inVal == currVal) // 判断输入数字是否与上一个数字相同 ++cnt; // 相同则统计值加 1 else { cout << currVal << " occurs " << cnt << " times." << endl; // 不同则输出当前值的个数 currVal = inVal; // 并将新出现的数值作为统计新值 cnt = 1; // 统计值还原为 1 } } cout << currVal << " occurs " << cnt << " times." << endl; } return 0; }
例如,我们输入数据: 12 12 12 12 55 55 3 66 66,输入结束后,按回车键输出结果为:
12 occurs 4 times.
55 occurs 2 times.
3 occurs 1 times.
66 occurs 2 times.
Tips: 要得到上述结果,一定要输入“文件结束符”。
思考1: 如果输入时没有输入“文件结束符”(数据输入完成后直接敲击Enter键或Return键),输出结果是怎样?
按照上面给出的例子,我们在输入结束后输入“文件结束符”,得到的结构如下:
上面显示的结果是我们预期的。
但是如果我们不输入“文件结束符”,得到的结果却是这样的:
从程序运行结果可以看出,没有输入“文件结束符”时敲击Enter键,程序并没有完成对所有的输入数据的统计和打印工作。这时候程序仍然处于等待输入的状态。如果我们继续输入,直到我们输入“文件结束符”,程序才算真正执行完,如下图:
思考2:如果输入数据时输入同一个数值,输出结果是怎样?如果输入的数据所有数字都不相同,结果又是怎样?
如果输入数值全部相同:
其运行结果是我们预期想要得到的。如果输入数值全不相同:
运行结果也是我们预期要得到的。
思考3:如果同一数值在不同的位置出现重复,输出的结果是怎样?
程序的功能实现了统计某一数值连续出现的次数。
相关文章推荐
- C++入门基础篇学习手记: 读取数量不定的输入数据
- 统计在输入中每个值连续出现了多少次
- 统计输入中每个值连续出现了多少次
- c++统计输入中不同单词所出现的次数
- c++统计输入中不同单词所出现的次数
- c++统计连续单词出现次数
- c++统计输入中不同单词所出现的次数(续)
- 使用map容器,统计输入的单词出现的次数
- 统计用户输入的一串数字中每个数字出现的次数
- 一个简单的例子理解C++ map, 运用map统计单词出现的次数
- c++实现“统计输入的string中重复次数最多的string”
- 统计输入中关键词出现的次数(二分查找实现)
- java实现统计输入一行string中统计其中各个字符出现的次数
- 一个一万字长的连续字符串,找出其所有子串,并统计子串的出现次数
- MySql中关于某列中相同数值连续出现次数的统计
- awk统计用户输入错误的验证码每个字母出现的次数
- 统计一个长度为2的子字符串在另一个字符串中出现的次数.例如:假定输入的字符串为“asd asasdfg asd as zx67 asd mklo”,子字符串为“as”,函数返回值为6。
- 统计用户输入的一串数字中每个数字出现的次数
- 编写一个小程序,从标准输入读入一系列string对象,寻找连续重复出现的单词。程序应该找出满足一下条件的单词:该单词的后面紧接着再次出现自己本身。跟踪重复次数最多的单词及其重复次数,输出.
- 汇编语言统计输入中各字符出现的次数