引言:CSP(http://www.cspro.org/lead/application/ccf/login.jsp)是由中國電腦學會(CCF)發起的“電腦職業資格認證”考試,針對電腦軟體開發、軟體測試、信息管理等領域的專業人士進行能力認證。認證對象是從事或將要從事IT領域專業技術與技術管理人 ...
引言:CSP(http://www.cspro.org/lead/application/ccf/login.jsp)是由中國電腦學會(CCF)發起的“電腦職業資格認證”考試,針對電腦軟體開發、軟體測試、信息管理等領域的專業人士進行能力認證。認證對象是從事或將要從事IT領域專業技術與技術管理人員,以及高校招考研究生的覆試對象。
l 問題描述
給定一個整數數列,數列中連續相同的最長整數序列算成一段,問數列中共有多少段?
l 輸入格式
輸入的第一行包含一個整數n,表示數列中整數的個數。
第二行包含n個整數a1, a2, …, an,表示給定的數列,相鄰的整數之間用一個空格分隔。
l 輸出格式
輸出一個整數,表示給定的數列有多個段。
l 樣例輸入
8
8 8 8 0 12 12 8 0
l 樣例輸出
5
l 樣例說明
8 8 8是第一段,0是第二段,12 12是第三段,倒數第二個整數8是第四段,最後一個0是第五段。
l 評測用例規模與約定
1 ≤ n ≤ 1000,0 ≤ ai ≤ 1000。
l 源代碼
# include <stdio.h> # include <stdlib.h> # include <memory.h>
int main(void) { int n; //個數 int result = 0; int currentNum = -1; scanf("%d", &n); int *input = (int *)malloc(sizeof(int) * n); memset(input, 0, sizeof(int) * n);
for (int i = 0; i < n ; i++) { scanf("%d", input+i); }
for (int i = 0; i < n; i++) { if (currentNum != input[i]) { currentNum = input[i]; result += 1; } }
printf("%d\n", result); free(input);
return 0; }
|