題目描述
資料表記錄包含表索引和數值,請對錶索引相同的記錄進行合併,即將相同索引的數值進行求和運算,輸出按照key值公升序進行輸出。
輸入描述:
先輸入鍵值對的個數
然後輸入成對的index和value值,以空格隔開
輸出描述:
輸出合併後的鍵值對(多行)
輸入例子:
40 1
0 21 2
3 4輸出例子:
0 31 2
3 4解題要點:
1.打算用什麼樣的方式來存放表每一項的索引和鍵值,即選什麼資料結構。陣列、結構體(類)。
陣列:
#include #include using namespace std;
int main()
; //設定初值為0; index作為陣列的下標,value作為陣列的值;
//vectorkey_value(10000,0);
cin>>num;
for(int i=0;i>index>>value;
key_value[index]+=value;
}for(int i=0;i<10000;i++)
if(key_value[i]!=0) 當初值為0時,表名對應i無此index 這裡只有當所有相同index的value之和不為0的情況才正確,這是此方法的乙個限制;
cout<類(結構體)
#include
#include using namespace std;class key_value
;int main()
//相同index的合併
for( i=0;i排序:如果用二維陣列,則在排序時,無法交換兩個元素。
key_value temp;
for(i=0;ikv[j+1].index)
//輸出
for(i=0;i
華為機試題
今天去華為機試,感覺是再謹慎都不為過啊!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 中的,輸出兩個字...