1、選秀節目打分,分為專家評委和大眾評委,score 陣列裡面儲存每個評委打的分數,judge_type 裡儲存與 score 陣列對應的評委類別,judge_type[i] == 1,表示專家評委,judge_type[i] == 2,表示大眾評委,n表示評委總數。打分規則如下:專家評委和大眾評委的分數先分別取乙個平均分(平均分取整),然後,總分 = 專家評委平均分 * 0.6 + 大眾評委 * 0.4,總分取整。如果沒有大眾評委,則 總分 = 專家評委平均分,總分取整。函式最終返回選手得分。
函式介面 int cal_score(int score, int judge_type, int n)
2、給定乙個陣列input ,如果陣列長度n為奇數,則將陣列中最大的元素放到 output 陣列最中間的位置,如果陣列長度n為偶數,則將陣列中最大的元素放到 output 陣列中間兩個位置偏右的那個位置上,然後再按從大到小的順序,依次在第乙個位置的兩邊,按照一左一右的順序,依次存放剩下的數。
例如:input = output = ; input = output =
函式介面 void sort(int input, int n, int output)
3、作業系統任務排程問題。作業系統任務分為系統任務和使用者任務兩種。其中,系統任務的優先順序 < 50,使用者任務的優先順序 >= 50且 <= 255。優先順序大於255的為非法任務,應予以剔除。現有一任務佇列task,長度為n,task中的元素值表示任務的優先順序,數值越小,優先順序越高。函式scheduler實現如下功能,將task 中的任務按照系統任務、使用者任務依次存放到 system_task 陣列和 user_task 陣列中(陣列中元素的值是任務在task 陣列中的下標),並且優先順序高的任務排在前面,陣列元素為-1表示結束。
例如:task = system_task = user_task =
函式介面 void scheduler(int task, int n, int system_task, int user_task)
三道題寫在乙個cpp檔案裡了,如下:
1 #include 2using
namespace
std;34
56//程式設計題第一題
7int cal_score(int score, int judge_type, intn)8
24else
25 29}
30//
綜合評分
31if(!audiancecount)
3236
else
3742}43
4445
//程式設計題第二題
46void sort(int input, int n, int
output)
4759 input[j+1] =temp;60}
61int center = n / 2
;62 output[center] = input[0
];63
int diff = 1;64
int i = 1;65
while(i 6672 output[center + diff] = input[i++];
73 ++diff;74}
75}7677
//程式設計題第三題
78void scheduler(int task, int n, int system_task, int
user_task)
7990
else
if(task[i] <= 255)91
95}9697
//對系統任務排序,按優先順序數值公升序排序
98//
用插入法排序
99for(int i = 1; i < systemindex; ++i)
100108 system_task[j+1] =temp;
109}
110111
//對使用者任務排序,思想同上
112for(int i = 1; i < userindex; ++i)
113121 user_task[j+1] =temp;
122}
123124
//末尾處理
125 system_task[systemindex] = -1
;126 user_task[userindex] = -1
;127
}128
129130
void print(const
int a, const
intn)
131136 cout <137}
138139
intmain()
140;
144int judgetype[10] = ;
145 cout << cal_score(score, judgetype, 10) << endl <146147
//第二題測試樣例
148 cout << "
第二題測試結果:
"<149int input1[5] = ;
150int output1[5
];151 sort(input1, 5
, output1);
152 print(output1, 5
);153
154int input2[6] = ;
155int output2[6
];156 sort(input2, 6
, output2);
157 print(output2, 6
);158 cout <159160
//第三題測試樣例
161int task = ;
162int system_task[9
];163
int user_task[9
];164 scheduler(task, 9
, system_task, user_task);
165 cout << "
系統任務為:
"<166 print(system_task, 5
);167 cout << "
使用者任務為:
"<168 print(user_task, 5
);169 }
2012華為上機試題彙總及參考程式
2012華為機試排序題目 2012華為2011年9月17日上機題目之最長回文 2012華為2011年9月17日上機題目之約瑟夫環模擬法實現程式 2012中興南京筆試試題大題彙總及參考程式 地區一 1.編寫函式string deletestring string str,string sub str ...
2012華為校園招聘上機筆試題
如同往年,華為今年剛一開學就來學校宣講了,9月6日和7日安排了軟體研發類的上機筆試 其他職位沒有筆試,直接通過網上註冊的簡歷篩選並安排面試 說下華為上機考試的特點和一些注意事項 1 考試時長為2個小時,總共有3個題 去年是2個題,難度要比今年大些 使用的是vc 6.0 2 3個題目中大致第乙個題是最...
華為2016上機筆試題
開發乙個簡單錯誤記錄功能小模組,能夠記錄出錯的 所在的檔名稱和行號。處理 1.記錄最多8條錯誤記錄,對相同的錯誤記錄 即檔名稱和行號完全匹配 只記錄一條,錯誤計數增加 檔案所在的目錄不同,檔名和行號相同也要合併 2.超過16個字元的檔名稱,只記錄檔案的最後有效16個字元 如果檔名不同,而只是檔名的後...