字串入門練習題4 足球比賽中的危險狀態 題解

2022-08-19 22:24:08 字數 1241 閱讀 9917

題目出處:

題目描述

靈靈非常喜歡足球。

有一天,靈靈正在看一場足球比賽,在看比賽的同時靈靈在紙上寫下了每一位運動員當前的位置。

為了簡化所有運動員的位置的描述,靈靈將其簡化成了僅由字元 "0" 和 "1" 描述的乙個字串。

每乙個 "0" 表示主隊的乙個運動員,每乙個 "1" 表示客隊的乙個運動員。

如果當前的位置中存在連續的7個運動員是同乙個隊伍的,那麼我們將這個狀態稱為危險狀態。

舉個例子,狀態 「00100110111111101」 是危險狀態,而狀態 「11110111011101」 不是危險狀態。

給你乙個當前靈靈描繪出來的所有運動員的位置,請確認這個狀態是不是危險狀態。

輸入格式

輸入包含乙個字串,用於表示靈靈描繪出的所有運動員的位置。(字串長度不會超過100)

輸出格式

如果所有運動員的位置是乙個危險狀態,輸出「yes」;否則,輸出「no」。

樣例輸入1

001001
樣例輸出1
no
樣例輸入2
1000000001
樣例輸出2
yes
題目分析

這道題目很明顯了,其實就是給你乙個字串 s ,確定字串中是不是存在 7 個連續的 "0" 或者 7 個連續的 "1"。

所以我們可以開乙個變數 cnt 來記錄:

每當我們當前遍歷的字串和前乙個字串不一樣(或者當前字串是第0個字串),我們將 cnt 置為 1;

每當我們當前遍歷的字串和前乙個字串一樣,我們將 cnt ++;

如果某乙個時刻 cnt >= 7,則說明是危險狀態;如果遍歷完字串 cnt 都沒能達到 7,則說明不是危險狀態。

使用 char 陣列實現的**如下:

#include using namespace std;

char ch[110];

int cnt;

int main() }}

puts("no");

}

使用 string 實現的**如下:

#include using namespace std;

string s;

int cnt;

int main() }}

puts("no");

return 0;

}

字串練習題

1.請編寫乙個c函式,該函式可以實現將乙個整數轉為任意進製的字串輸出 include include char ch 16 函式宣告 將整數轉換為任意進製的字串 charchar int2sys int num,int n,int move bit int main else if n 8 else...

字串練習題

變數名是否合法 1.變數名只能由字母 數字 下劃線組成 2.只能以字母或下劃線開頭 源 while true s input 變數名 if s exit print 歡迎下次使用 break if s 0 isalpha or s 0 for i in s 1 if not i.isalnum or...

字串練習題

輸入兩個字串,從第乙個字串中刪除第二個字串中所有的字元。例如,輸入 they are students.和 aeiou 則刪除之後的第乙個字串變成 thy r stdnts.s1 input 請輸入第乙個字串 s2 input 請輸入第二個字串 s3 方法一 for i in s1 print i,...