【问题描述】定义一个数组存储n个整数,并统计n个正整数组成的序列中连续相同数字的段数。 【输入形式】先输入一个正整数n,再依次输入n个正整数 【输出形式】输出段数 【样例输入】 9 1 1 1 4 2 2 0 5 5 【样例输出】 5
时间: 2023-11-29 13:04:22 浏览: 156
义一个整数集合类integerSet。这种类型的对象可以存储10个20~80之间的整数,即他的内部有一个整型数组存储数据。编程:
以下是这道题的C++代码实现:
```c++
#include <iostream>
using namespace std;
int main() {
int n;
cin >> n;
int arr[n];
for (int i = 0; i < n; i++) {
cin >> arr[i];
}
int count = 1;
for (int i = 1; i < n; i++) {
if (arr[i] != arr[i-1]) {
count++;
}
}
cout << count;
return 0;
}
```
解释如下:
首先,我们读入一个正整数 `n`,表示接下来将输入 `n` 个正整数。
我们使用一个 `int` 类型的数组 `arr` 来存储这 `n` 个正整数,然后通过循环读入这 `n` 个正整数。
接下来,我们定义一个变量 `count` 来记录连续相同数字的段数,并初始化为 `1`。因为第一个数字本身也算是一个连续相同数字的段。
然后,我们从数组的第二个元素开始循环,判断当前元素是否等于上一个元素。如果不相等,说明当前元素开始了一个新的连续相同数字的段,我们将 `count` 的值加 `1`。
最后,输出 `count` 的值即可。
以上就是这道题的解法。
阅读全文