定义一个数组存储n个整数,并统计n个正整数组成的序列中连续相同数字的段数。 例如输入111422055,输出结果为5,用C语言实现
时间: 2024-02-12 13:04:04 浏览: 47
好的,下面是用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个正整数组成的序列中连续相同数字的段数。
好的,我会根据您的问题进行回答。以下是一个示例代码,用于定义一个数组并统计连续相同数字的段数:
```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的值,即为连续相同数字的段数。
用c语言定义一个数组存储n个整数,并统计n个正整数组成的序列中连续相同数字的段数
可以使用C语言中的数组和循环来实现这个功能。以下是一个示例代码:
```c
#include <stdio.h>
int main() {
int n, i, count = 1; // count 初始值为 1,因为第一个数肯定是一个单独的连续段
printf("请输入整数个数:");
scanf("%d", &n);
int arr[n]; // 定义长度为 n 的整型数组
printf("请输入 %d 个整数:", n);
for (i = 0; i < n; i++) {
scanf("%d", &arr[i]); // 输入 n 个整数
}
for (i = 1; i < n; i++) { // 从第 2 个数开始遍历数组
if (arr[i] != arr[i - 1]) { // 如果当前数和前一个数不相同,说明出现了一个新的连续段
count++; // 连续段数量加 1
}
}
printf("连续段数量为:%d\n", count);
return 0;
}
```
运行程序后,按照提示输入整数个数和整数序列,程序会输出连续段数量。注意,这个程序仅适用于统计正整数的连续段数量,如果要求统计其他类型数据的连续段数量,需要适当修改程序。