回覆列表
-
1 # SnailBernoulli
-
2 # 來自網路的程式碼
//隨便寫個吧,方法很多,只要有思路都可以寫出來的.
#include <stdio.h>
#define MAX 3
void maxval(int *,int);
int main(void)
{
int max = 0;//取得最大值
maxval(&max, MAX);//呼叫函式獲取最大值
printf("%d\n",max);//輸出max
}
void maxval(int *max,int j)
{ int i; //迭代值
int tmp; //取個臨時值
for (i = 0; i < j; i++)//迴圈j次
{
scanf("%d",&tmp);
if (*max == 0)//max初始值是0
{
*max = tmp; //這樣去掉小於0的時候max的不正確性
}
else
{
*max > tmp ? *max : tmp;//判斷大小,將大的留下
}
}
}
先對三個數比較大小(最大值取絕對值記為max1,)。 然後對三個數的相反數的最大值比較。(最大值取絕對值記為max2)。 然後兩個最大值中大的一個就是所求結果(兩個數比較用問號表示式程式碼簡單。)