#include<stdio.h>int main(){? ? int max1 (int x,int y,int z);? ? int a,b,c,max;? ? printf("請輸入三個整數:");? ? scanf("%d,%d,%d",&a,&b,&c);? ? max =max1(a,b,c);? ? printf("最大值是:%d\n",max);? ? return 0;}int max1(int x,int y,int z){? ? int max;? ? if(x>y);? ? x>z? max = x:max = z;? ? if(x>z);? ? x>y?max = x:max = y;? ? if(y>z);? ? y>x?max = y:max = z;? ? return max;}
3 回答

望遠
TA貢獻1017條經驗 獲得超1032個贊
int?max1(int?x,int?y,int?z) { ????int?max; ????if(x>y);//if判斷成立后執行的是空語句,多了;下同 ????x>z??max?=?x:max?=?z; ????if(x>z); ????x>y?max?=?x:max?=?y; ????if(y>z); ????y>x?max?=?y:max?=?z; ????return?max; }
//example int?max(int?x,int?y,int?z) { ????return?x>y?(x>z?x:z):(y>z?y:z); }

馮寶寶
TA貢獻31條經驗 獲得超8個贊
三元操作符合那里有問題?? x>z? max = x:max = z;,我是在你自己代碼基礎上改,你這個算法好壞沒有思考。
下面是修改之后的:
#include<stdio.h>
int main()
{
? ? int max1 (int x,int y,int z);
? ? int a,b,c,max;
? ? printf("請輸入三個整數:");
? ? scanf("%d,%d,%d",&a,&b,&c);
? ? max =max1(a,b,c);
? ? printf("最大值是:%d\n",max);
? ? return 0;
}
int max1(int x,int y,int z)
{
? ? int max;
? ? if(x>y);
? ? max=(x>z? x:z);
? ? if(x>z);
? ? max=(x>y? x:y);
? ? if(y>z);
? ? max=(y>x?y:z);
? ? return max;
}
- 3 回答
- 0 關注
- 1971 瀏覽
添加回答
舉報
0/150
提交
取消