地特三等申論題
110年
[資訊處理] 程式設計
第 四 題
四、請問下列程式碼之輸出結果為何?(25 分)
#include
#include
void function(int a, int b)
{
printf("a=%d,b=%d\n", a, b);
for (i = 0; i < 8; i++)
{
if (!(a > 10 && b < 10) && (a <= 10 || b >= 10))
{
a = a + 1;
b = b - 1;
printf("a=%d,b=%d\n", a, b);
}
}
}
int main()
{
int x = 5;
int y = 10;
function(x, y);
return 0;
}
📝 此題為申論題
思路引導 VIP
本題重點在於程式邏輯的追蹤。首先可利用狄摩根定律(De Morgan's laws)將複雜的 if 判斷式加以化簡,接著透過逐步推導或列表的方式,追蹤 for 迴圈內變數 a 與 b 值的變化及列印結果。
🤖
AI 詳解
AI 專屬家教
【解題思路】利用狄摩根定律化簡 if 條件判斷式,並透過逐步推導法追蹤迴圈中變數的變化與輸出。
【詳解】
已知:主程式宣告 x = 5, y = 10,並呼叫 function(x, y),因此進入副程式時初始變數為 a = 5, b = 10。
▼ 還有更多解析內容