/*
華為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勾勒出個圖形只能是這兩種樣子。要求是用俄羅斯...