2012屆華為程式設計大賽第二題

2021-06-21 14:23:12 字數 1733 閱讀 9102

/*

華為2023年程式設計大賽

2. 輸入聯想(30分)

問題描述:

輸入聯想功能是非常實用的乙個功能,請程式設計實現類似功能。

要求實現函式:

void auto_complete(char *str, char *tmp,char *output)

【輸入】 char *str,候選字串

char *tmp,輸入字串

【輸出】 int *output,聯想匹配的字串

【返回】 無

注:候選字串以空格隔開,輸入字串僅從字串開始處匹配。將匹配的子字串輸出,同樣以空格隔開。如無匹配成功的子字串,則輸出空字串。

示例 輸入:str = chengdu chongqing,tmp = c

輸出:output = chengdu chongqing

輸入:str = chengdu chongqing,tmp = che

輸出:end = chengdu

3)輸入:str = beijing nanjing,tmp = jing

輸出:end =

*/#include "stdafx.h"

#include "iostream"

using namespace std;

void auto_complete(char *str, char *tmp,char *output)

output[out_position++] = ' ';

while (str[str_position] == ' ' && str[str_position] != '\0')

tmp_position = 0;

}} // 不同時候,str_position自加,tmp_position賦0

else

while (str[str_position] == ' ' && str[str_position] != '\0')

}} output[out_position - 1] = '\0';

return;

}int _tmain(int argc, _tchar* argv)

做的時候邏輯混亂了,沒看清題就開始做。

後面實在不行畫了個圖,稍好了點

思路如下

另外**的**

同樣可行。與我**的不同之處在於其邏輯較為清晰,將每個詞語取出,分別進行比較運算。

void auto_complete(char *str,char *tmp, char *output)

else

{k=0;j=0;

while(k

以下這個可行的,同樣**剛那個鏈結,需要標頭檔案sstream

void auto_complete(char *str,char *tmp, char *output)

{ istringstream istream((string)(str));

string word;

int i=0,j=0,k=0;

while(istream>>word)

{int pos=word.find((string)(tmp));

cout<

華為2012程式設計大賽題目(1)

現有一串字串,請找出其中的大寫字母並順序儲存至output陣列中。注 字母可能包含大寫 小寫字母 數字以及控制字元 要求實現函式my string char input,char output 例子 input 3dfd93dafkifikdldkjlkd output difildlkd 題目是從...

華為2012第四屆程式設計大賽初賽題目(4 22下午)

1 現有一串字串,請找出其中的大寫字母並順序儲存至output陣列中。注 字母可能包含大寫 小寫字母 數字以及控制字元 要求實現函式my string char input,char output 例子 input 3dfd93dafkifikdldkjlkd output difildlkd 2 ...

華為程式設計大賽決賽題

題目 俄羅斯方塊覆蓋。給定 乙個21 21的格仔矩陣,從1到441編號。輸入是乙個檔案testin.txt,裡面有4個數字,每乙個數字代表陣列下標,陣列元素值為1,表示障礙。空著的格仔用0表示。這四個數字代表的圖形只能是這個中的一種!也就是說。矩陣中4個1勾勒出個圖形只能是這兩種樣子。要求是用俄羅斯...