軟件設(shè)計(jì)師案例分析當(dāng)天每日一練試題地址:m.iosrock.com/exam/ExamDayAL.aspx?t1=4
往期軟件設(shè)計(jì)師每日一練試題匯總:m.iosrock.com/class/27/e4_1.html
軟件設(shè)計(jì)師案例分析每日一練試題(2026/4/8)在線測(cè)試:m.iosrock.com/exam/ExamDayAL.aspx?t1=4&day=2026/4/8
點(diǎn)擊查看:更多軟件設(shè)計(jì)師習(xí)題與指導(dǎo)
軟件設(shè)計(jì)師案例分析每日一練試題內(nèi)容(2026/4/8)
閱讀下列說(shuō)明和C代碼,回答問(wèn)題 1 至問(wèn)題 3,將解答寫在答題紙的對(duì)應(yīng)欄內(nèi)。信管網(wǎng)考友試題答案分享:
信管網(wǎng)1768*******:
int getcounterfeitcoin(int coins[], int first, int last){
int firstsum =0, lastsum =0;
int i;
if(first==last-1){
if(coins[first]< coins[last])
return first;
return last;
}
if((last-first+ 1)%2 ==0){
//(1)
for(i = first;i< first + (last-first)/2+1; i++){
firstsum += coins[i];
}
printf("前邊一半是 %d ;",firstsum);
for(i=first + (last-first)/2 + 1;i< last +1;i++){
lastsum += coins[i];
}
printf("后邊一半是 %d 。",lastsum);
//(2)
if(firstsum < lastsum){
return getcounterfeitcoin(coins,first,first+(last-first)/2);
}else{
return getcounterfeitcoin(coins,first+(last-first)/2+1,last);
}
}else{
for(i=first;i<= first + (last-first)/2-1; i++){
firstsum += coins[i];
}
printf("前邊一半是---- %d ;",firstsum);
for(i=first+(last-first)/2+1;i< last +1;i++){
lastsum += coins[i];
}
printf("后邊一半是--- %d 。",lastsum);
if(firstsum < lastsum){
return getcounterfeitcoin(coins,first,first+(last-first)/2);
}else if(firstsum>lastsum){
return getcounterfeitcoin(coins,first+(last-first)/2,last);
}else{
//(3)
return first+(last-first)/2;
}
}
}
int main(){
int coins[12] = {1,1,1,1,1,1,1,1,1,1,1,0};
//int coins[9] = {0,1,1,1,1,1,1,1,1};
int n = sizeof(coins)/sizeof(coins[0]);
int feit = getcounterfeitcoin(coins,0,n-1);
printf("其中第 %d 個(gè)硬幣是假的。", feit+1);
return 0;
}
信管網(wǎng)cnit**************:
問(wèn)題1里面答案有問(wèn)題啊, 第一個(gè) 應(yīng)該是 first + (last-fisrt)/2 +1 ; 因?yàn)?/ 是整除,如果最后不加1, 那相當(dāng)于前半部分的會(huì)漏掉最后一個(gè)值; 第二個(gè) 明顯是個(gè)判斷 應(yīng)該是 firstsum < lastsum ; 第三個(gè) 沒(méi)什么問(wèn)題。
信管網(wǎng)阿青在線**:
【問(wèn)題1】
答:
①: last+1 ②fristsum ③:getcounterfeitcoin(coins,first+(last-first+1)/2,last);
【問(wèn)題2】
答:
①二分(查找)
②o(n/2)
【問(wèn)題3】
①1次
② 15次
信管網(wǎng)cnit**************:
【問(wèn)題1】
1. (last-first)/2
2. firstsum > lastsum
3. coins[first+(last-first)/2]
【問(wèn)題2】
分治,o(log_2n)
【問(wèn)題3】
2,4
信管網(wǎng)過(guò)去立馬**:
<br /><img src="http://pic.cnitpm.com/upload/2023/04/tbimg/04-08/1680963585.jpg" />
信管網(wǎng)訂閱號(hào)
信管網(wǎng)視頻號(hào)
信管網(wǎng)抖音號(hào)
溫馨提示:因考試政策、內(nèi)容不斷變化與調(diào)整,信管網(wǎng)網(wǎng)站提供的以上信息僅供參考,如有異議,請(qǐng)以權(quán)威部門公布的內(nèi)容為準(zhǔn)!
信管網(wǎng)致力于為廣大信管從業(yè)人員、愛(ài)好者、大學(xué)生提供專業(yè)、高質(zhì)量的課程和服務(wù),解決其考試證書、技能提升和就業(yè)的需求。
信管網(wǎng)軟考課程由信管網(wǎng)依托10年專業(yè)軟考教研傾力打造,教材和資料參編作者和資深講師坐鎮(zhèn),通過(guò)深研歷年考試出題規(guī)律與考試大綱,深挖核心知識(shí)與高頻考點(diǎn),為學(xué)員考試保駕護(hù)航。面授、直播&錄播,多種班型靈活學(xué)習(xí),滿足不同學(xué)員考證需求,降低課程學(xué)習(xí)難度,使學(xué)習(xí)效果事半功倍。
| 發(fā)表評(píng)論 查看完整評(píng)論 | |