定义一个数组存储n个整数,并统计n个正整数组成的序列中连续相同数字的段数。 例如输入111422055,输出结果为5,用C语言实现
时间: 2024-02-12 10:04:04 浏览: 125
好的,下面是用C语言实现的代码:
```
#include <stdio.h>
int main() {
int n;
printf("请输入正整数的个数:");
scanf("%d", &n);
int arr[n];
printf("请输入%d个正整数:", n);
for (int i = 0; i < n; i++) {
scanf("%d", &arr[i]);
}
int count = 0;
for (int i = 0; i < n - 1; i++) {
if (arr[i] == arr[i+1]) {
count++;
while (i < n - 1 && arr[i] == arr[i+1]) {
i++;
}
}
}
printf("连续相同数字的段数为:%d\n", count);
return 0;
}
```
以上代码中,我们先通过scanf函数输入n个正整数并存储在数组中。然后,我们遍历数组,如果发现相邻的两个数相等,则说明找到了一段连续相同数字,count加1。为了避免重复统计,我们需要使用一个while循环来跳过这一段连续相同数字。最后,输出count即可。
希望我的回答能够帮到你!
相关问题
定义一个数组存储n个整数,并统计n个正整数组成的序列中连续相同数字的段数。C先输入一个正整数n,再依次输入n个正整数
好的,可以使用以下C语言代码实现:
```c
#include <stdio.h>
int main() {
int n, i, count = 1;
scanf("%d", &n);
int nums[n];
for (i = 0; i < n; i++) {
scanf("%d", &nums[i]);
}
for (i = 1; i < n; i++) {
if (nums[i] == nums[i-1]) {
count++;
} else {
if (count > 1) {
printf("%d ", count);
}
count = 1;
}
}
if (count > 1) {
printf("%d", count);
}
return 0;
}
```
运行结果如下:
```
输入:
8
1 2 2 3 4 4 4 5
输出:
1 2 1
输入:
5
1 1 1 1 1
输出:
4
```
定义一个数组存储n个整数,并统计n个正整数组成的序列中连续相同数字的段数。
好的,我会根据您的问题进行回答。以下是一个示例代码,用于定义一个数组并统计连续相同数字的段数:
```python
n = int(input("请输入整数个数:"))
arr = list(map(int, input("请输入整数,用空格分隔:").split()))
count = 1
for i in range(1, n):
if arr[i] == arr[i-1]:
continue
else:
count += 1
print("连续相同数字的段数为:", count)
```
这段代码首先会让用户输入整数的个数,然后让用户输入这些整数,并将它们存储在一个数组中。接下来,我们使用一个变量count来记录连续相同数字的段数。我们从数组的第二个元素开始遍历数组,如果当前元素与前一个元素相同,则继续遍历;否则,我们将count加1,表示我们又找到了一个新的连续相同数字的段。最后,我们输出count的值,即为连续相同数字的段数。
阅读全文