c语言,输入三个数,输出其中的最大值

2025-03-04 18:48:12
推荐回答(5个)
回答1:

# include 

int main()

    int a,b,c,max;

    printf("please input a,b,c:\n");
    scanf("%d,%d,%d",&a,&b,&c);

    if((a>=b)&&(a>=c))   
        max=a;
    if((b>=a)&&(b>=c)) 
        max=b;
    if((c>=a)&&(c>=b)) 
        max=c;
    printf("The largest number is %d\n",max);
    return 0;

}

你原来的代码

if(a>b,a>c)

这种是符号表达式,符号表达式只有最后那个语句是有效的,也就是说无论a>b与否,这个比较结果都会被忽略,起作用的只有a>c

回答2:

//******************************************************************************
// LZ注意一下scanf的格式就可以了,加油噢!!
// %d,%d,%d 中间放了什么,就需要用什么隔开。 (不放或者空格隔开时,输入时用空格隔开即可)
// 比如 %d@%d@%d 输入的三个数就需要用@来隔开
//******************************************************************************
#include
int max(int a,int b,int c)
{
int max=a;
if (max max=b;
if (max max=c;
return max;
}
int main()
{
int a,b,c,x;
scanf("%d%d%d",&a,&b,&c); // %d,%d,%d 去掉中间的逗号。
x=max(a,b,c);
printf("max=%d\n",x);
}
//******************************************************************************
// 祝学习进步,更上一层楼 *(^-^)*
//******************************************************************************

回答3:

逻辑表达式的与应该用关键字and或者&&符号
即if(a>b && a>c)max=a;

另外你的程序逻辑有误,如果有两数相等,这个程序将输出一个内存中的随机数。

回答4:

# include 
int main()
{int a,b,c,max;
printf("please input a,b,c:\n");
scanf("%d,%d,%d",&a,&b,&c);
if(a>=b&&a>=c)max=a;
if(b>=a&&b>=c)max=b;
if(c>=a&&c>=b)max=c;
printf("The largest number is %d\n",max);
return 0;
}

回答5:

逗号改为&&

if(a>=b&&a>=c)max=a;
if(b>=a&&b>=c)max=b;
if(c>=a&&c>=b)max=c;