linux中的makefile中的目錄結構一般是這樣:
aaa=home
bbb=$/zhmf
ccc=$/user/lib
試題要求在輸入n行類似上述字串後輸出最後一行將$替換後的完整字串。例如:
輸入:
4 aaa=home
bbb=$/zhmf/$
ccc=music
ddd=$/dj/join
輸出: home/zhmf/music/dj/join
**如下:
#include
#include
#include
#include
#include
using
namespace std;
map m_kv;
void
mysplit
(const string& src, vector
& v,
const
char mark =
',')
}string makestr
(const vector
& v)
return ret;
}return v[0]
;}string getkey
(const string& str)')
-2);
auto value = m_kv[key]
;//如果value又是key?
// aaaa=hello/$
// aaa=bbb/$/ccc/$
vector v_tmp;
mysplit
(value, v_tmp,
'/')
; string retstr;
vector v_str;
for(
int i =
0; i < v_tmp.
size()
; i++
)return
makestr
(v_str)
;// return getkey(v_tmp[i]);
}return str;
}void
func()
/ccc/$
vector v_s;
vector v_k;
int num;
cin >> num;
for(
int i =
0; i < num; i++
)/*int num = 4;
v_s.push_back("aaa=hello");
v_s.push_back("bbb=$/world/$");
v_s.push_back("ccc=yes");
v_s.push_back("ddd=$/the/$/$/over");*/
//mapm_kv;
for(
int i =
0; i < v_s.
size()
; i++)}
//m_kv.at()
vector v_last;
//bbb/$/ccc/$
mysplit
(m_kv[v_k[num -1]
], v_last,
'/')
;for
(int i =
0; i < v_last.
size()
; i++
) std::cout <<
"over "
<<
makestr
(v_last)
<< std::endl;
}
華為機試題
今天去華為機試,感覺是再謹慎都不為過啊!zc前一天晚上還跟我強調了判空,記憶體釋放。前兩題都是基本題,後面一題不會。1 輸入兩個數 反轉相加的和輸出。2 三天打漁兩天曬網 從1990 年1月1日開始 打漁輸出fishing 曬網輸出sleeping 我因為printf的是fishing sleepi...
華為機試題
通過鍵盤輸入一串小寫字母 a z 組成的字串。請編寫乙個字串壓縮程式,將字串中連續出席的重複字母進行壓縮,並輸出壓縮後的字串。壓縮規則 1.僅壓縮連續重複出現的字元。比如字串 abcbc 由於無連續重複字元,壓縮後的字串還是 abcbc 2.壓縮欄位的格式為 字元重複的次數 字元 例如 字串 yyy...
華為機試題
1.輸入乙個字串,將字串中的非字母字元刪除,保留字串中的小寫字母,將大寫字母變為小寫字母,然後輸出字串。比如 輸入 sdf sfjadf sdf 輸出 sdfsfjadfsdf 2.n進製數求和,輸入乙個整數n 2 n 35 兩個字串,字串中的字元一定是0 9或者a z 10 35 中的,輸出兩個字...