// 10: max 函數呼叫
max(___, ___); // 答案: a, b
// 11-12: 交換邏輯
z = x;
z = y; // 答案: 11: z=x 12: z=y (但通常需暫存: temp=x; x=y; y=temp;)
// 13: 變數宣告
___ a, b, c; // 答案: int
// 14: scanf 取址
scanf("%d%d%d", ___, ___, ___); // 答案: &a, &b, &c
// 15: 交換暫存
___ = a; // 答案: temp
max(a, b)傳遞兩個整數變數給最大值函數,參數順序不影響結果。
標準三步驟:
temp = a;
a = b;
b = temp;
若題目只有兩行 z = x; z = y; 可能是錯誤示範,正確需三句。
int a, b, c;宣告三個整數變數接收輸入。
&a, &b, &cscanf 需要變數**位址**以寫入值,& 取址運算子不可少。
temp = a;交換第一步:先暫存 a 的值。
#include
int max(int x, int y) {
return (x > y) ? x : y;
}
int main(void) {
int a, b, c, temp, z;
printf("輸入三個整數: ");
scanf("%d %d %d", &a, &b, &c);
printf("max(a,b) = %d\n", max(a, b));
// 交換 a, b
temp = a;
a = b;
b = temp;
printf("交換後 a=%d, b=%d\n", a, b);
// 找最大值 z
z = a;
if (b > z) z = b;
if (c > z) z = c;
printf("三數最大值 z = %d\n", z);
return 0;
}
%d 對 int*,%f 對 float*,%s 對 char[] (無需 &)。= 最低,? : 低於關係運算子。i=0; i。