来源
西安电子科技大学——XDOJ网上C语言编程题2
问题描述
给定一个整数数列,数列中连续相同的最长整数序列算成一段,问数列*有多少段?
输入格式
输入的第一行包含一个整数n,表示数列中整数的个数。
第二行包含n个整数a1, a2, …, an,表示给定的数列,相邻的整数之间用一个空格分隔。
输出格式
输出一个整数,表示给定的数列有多个段。
输入输出样例
样例输入
8
8 8 8 0 12 12 8 0
样例输出
5
样例说明
8 8 8是第一段,0是第二段,12 12是第三段,倒数第二个整数8是第四段,最后一个0是第五段。
评测用例规模与约定
1 ≤ n ≤ 1000,0 ≤ ai ≤ 1000
解题思路
1.输入一个正整数n表示数列中正整数的个数;
2.定义一个k用来记录分段点的个数;
3.从0到n-1做循环,判断出断点,让k+1;
4.段落数为断点数+1;
代码实现
#include<stdio.h>
int main(){
int n,a[1000],j,i;
int k=0;
scanf("%d",&n);
for ( i = 0; i < n; i++)
{
scanf("%d",&a[i]);
}
for ( j = 0; j < n-1; j++)
{
if (a[j]!=a[j+1])
{
k++;
}
}
printf("%d",k+1);
return 0;
}