牛客網 引數解析

2021-09-24 05:12:24 字數 1048 閱讀 8501

題目描述

在命令列輸入如下命令:

xcopy /s c:\ d:\,

各個引數如下:

引數1:命令字xcopy

引數2:字串/s

引數3:字串c:

引數4: 字串d:

請編寫乙個引數解析程式,實現將命令列各個引數解析出來。

解析規則:

引數分隔符為空格

對於用「」包含起來的引數,如果中間有空格,不能解析為多個引數。比如在命令列輸入

xcopy /s 「c:\program files」 「d:\」時,引數仍然是4個,第3個引數應該是字串c:\program files,而不是

c:\program,注意輸出引數時,需要將「」去掉,引號不存在巢狀情況。

引數不定長

輸入由用例保證,不會出現不符合要求的輸入

輸入描述:輸入一行字串,可以有空格

輸出描述:輸出引數個數,分解後的引數,每個引數都獨佔一行

示例

輸入:xcopy /s c:\ d:\

輸出:4

xcopy

/sc:\

d:\

解題思路及完整**

1.本題通過以空格和雙引號為間隔,統計引數個數。對於雙引號,通過新增flag,保證雙引號中的空格被輸出。

#include #include using namespace std;

int main()

while (str[i] != '"');}}

// 以空格計算個數,空格數量比引數個數少 1

cout << count + 1 << endl;

// 用 flag 表示是否包含雙引號, 0 表示有雙引號

// 雙引號中的空格要列印出來

// 用異或改變 flag 的值,兩個雙引號可以使 flag 復原

int flag = 1;

for (int i = 0; i < str.size(); i++)

cout << endl;

}return 0;

}

2.

牛客網 華為機試 020 牛客網

密碼要求 1.長度超過8位 2.包括大小寫字母.數字.其它符號,以上四種至少三種 3.不能有相同長度超2的子串重複 說明 長度超過2的子串 一組或多組長度超過2的子符串。每組佔一行 如果符合要求輸出 ok,否則輸出ng 示例1 021abc9000 021abc9abc1 021abc9000 02...

牛客網 乳酪

題目很簡單,中文題。複製了 乳酪之間距離不用管,只要開個並查集維護就好了,另外需要選好幾個點作為起點幾個點作為終點。o n 2 的建圖。感覺可以平面掃瞄。有空去試試。以下 ac includeusing namespace std const int maxn 1e5 5 define ll lon...

牛客網 A 招生

第一行,三個正整數n,m,p.後面n行,每行兩個正整數數a i,b i a i b i 分別表示第i個人的高考分和校測分。一行乙個數,表示答案 小a高考至少要考多少分。輸入6 3 750 700 530 683 625 703 620 699 623 710 538 654 599 輸出 inclu...