c语言求3个数中较大者
哪位帮我看看,谢谢#include<stdio.h>voidmain(){intmax(intx,inty,intz);inta,b,c,d;scanf("%d,%d,%...
哪位帮我看看,谢谢
#include<stdio.h>
void main()
{
int max(int x,int y,int z);
int a, b, c, d;
scanf("%d,%d,%d",&a,&b,&c);
d=max(a,b,c);
printf("max=%d\n",c);
}
int max(int x,int y,int z)
{
int s;
if(x>y) s=x;
if(x>z) s=x;
if(z>y) s=z;
if(z>x) s=z;
if(y>x) s=y;
if(y>z) s=y;
return(s);
} 展开
#include<stdio.h>
void main()
{
int max(int x,int y,int z);
int a, b, c, d;
scanf("%d,%d,%d",&a,&b,&c);
d=max(a,b,c);
printf("max=%d\n",c);
}
int max(int x,int y,int z)
{
int s;
if(x>y) s=x;
if(x>z) s=x;
if(z>y) s=z;
if(z>x) s=z;
if(y>x) s=y;
if(y>z) s=y;
return(s);
} 展开
8个回答
展开全部
判断逻辑有问题,main函数里输出最大值应该取d的值而不是c的值。
例如:
x=3,y=1,z=2
if(x>y) s=x; //这里s变成x
if(x>z) s=x; //这里s仍然是x
if(z>y) s=z; //但是到这里s就变成z了,实际上最大值是x
改成如下代码:
int max(int x,int y,int z)
{
int s;
if(x>y && x>z) s=x;
else if(y>x && y>z) s=y;
else s=z;
return(s);
}
例如:
x=3,y=1,z=2
if(x>y) s=x; //这里s变成x
if(x>z) s=x; //这里s仍然是x
if(z>y) s=z; //但是到这里s就变成z了,实际上最大值是x
改成如下代码:
int max(int x,int y,int z)
{
int s;
if(x>y && x>z) s=x;
else if(y>x && y>z) s=y;
else s=z;
return(s);
}
展开全部
你的判断逻辑有问题。举个例子:
x=3,y=1,z=2
if(x>y) s=x; //这里s变成x
if(x>z) s=x; //这里s仍然是x
if(z>y) s=z; //但是到这里s就变成z了,实际上最大值是x
改成如下代码:
int max(int x,int y,int z)
{
int s;
if(x>y && x>z) s=x;
else if(y>x && y>z) s=y;
else s=z;
return(s);
}
另外,main函数里输出最大值应该取d的值而不是c的值。
x=3,y=1,z=2
if(x>y) s=x; //这里s变成x
if(x>z) s=x; //这里s仍然是x
if(z>y) s=z; //但是到这里s就变成z了,实际上最大值是x
改成如下代码:
int max(int x,int y,int z)
{
int s;
if(x>y && x>z) s=x;
else if(y>x && y>z) s=y;
else s=z;
return(s);
}
另外,main函数里输出最大值应该取d的值而不是c的值。
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
定义三个变量,存放三个数
用if
else语句判断两个数大小
互相比较即得出最大数
用printf语句打印结果
用if
else语句判断两个数大小
互相比较即得出最大数
用printf语句打印结果
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
main函数打印的时候, 打印d, 而不是c, printf("max=%d\n", d);
max函数求三个数最大,不需要这么多判断。只需要判断两次
x > y ? (s = x) : (s = y);
if (z > s) s = z;
return s;
max在main下方,要先声明下比较好, 在main函数上方加一句int max(int, int, int);
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
main函数里:printf("max=%d\n",c);改为printf("max=%d\n",d);
max函数里面:{if(x>y&&x>z)return x;if(y>x&&y>z)return y;if(z>y&&z>x)return z;}
PS:不能比较存在相等的,如果输入的数有相等的,还得完善。
max函数里面:{if(x>y&&x>z)return x;if(y>x&&y>z)return y;if(z>y&&z>x)return z;}
PS:不能比较存在相等的,如果输入的数有相等的,还得完善。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询