鱼C论坛

 找回密码
 立即注册
查看: 1962|回复: 7

求三者中的最大者,大佬们这个错在哪里?

[复制链接]
发表于 2021-10-6 23:08:52 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
#include <stdio.h>
int main()
{
int max(int x, int y, int k);
int a, b, c, d;
scanf("%d,%d,%d",&a,&b,&c);
d = max(a,b,c);
printf("max=%d\n",d);
return 0;
}
int max(int x, int y,int k )
{
int z;
if(x > y && x > k)z = x;
if(y > k && y > x)z = y;
if(k > x && k > y)z = k;
return (z);
}
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2021-10-6 23:19:11 | 显示全部楼层
你是输入格式是不是错了,我用你代码测试了三轮
1、2,3,4
2、4,3,2
3、2,4,3
都没问题,但是上面的是用英文逗号隔开,你注意检查下,如果还是有问题的话,发出你的输入
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2021-10-7 09:38:22 | 显示全部楼层
你用的是系统自带的函数名max,那在比较的时候就自动用系统带用的max来比较,但max内置是比较两个整数,所以第三个数是不比较的,你会看到,你再怎么输入,它都只比较前面两个数的大小。
所以你自己写的max这个函数,事实上是不启作用的(有时候甚至会报错),你现在把你的函数名max,全部改成maxa(就是另外命名),这样就可以了。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2021-10-7 14:44:00 | 显示全部楼层
大马强 发表于 2021-10-6 23:19
你是输入格式是不是错了,我用你代码测试了三轮
1、2,3,4
2、4,3,2

代码没问题,就是输出结果,老是第一位
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2021-10-7 15:50:04 | 显示全部楼层
独狼阻击手 发表于 2021-10-7 14:44
代码没问题,就是输出结果,老是第一位

我用devc++没啥事,要不你试试三楼方法
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2021-10-7 16:14:16 | 显示全部楼层
代码我试了,完全没有问题啊~
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2021-10-8 09:48:18 | 显示全部楼层
@littlefool 发表于 2021-10-7 09:38
你用的是系统自带的函数名max,那在比较的时候就自动用系统带用的max来比较,但max内置是比较两个整数,所 ...

好的。谢谢
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2021-10-8 15:26:09 | 显示全部楼层
#include <stdio.h>

int Max(int x, int y, int z){
    if(x > y && x > z) return x;
    else if(y > x && y > z) return y;
    else if(z > x && z > y) return z;
}

int main(){
    int x, y, z;
    scanf("%d %d %d", &x, &y, &z);
    printf("%d", Max(x, y, z));
    return 0;
}
13 5 7
13
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-9-22 13:35

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表