#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 关注
- 1890 浏览
添加回答
举报
0/150
提交
取消