c语言 大家帮忙看一下这个程序哪出问题了

2025-01-03 18:30:23
推荐回答(4个)
回答1:

第一个 scanf 函数 中的 格式控制中 你打 空格了
所以 你确认 你输入的 时候 有没有打空格。。一般格式符 必须一致
第二个 你 的 判断 不对,,你想一想 如果 a是最小的 数 怎么办?
根本 没有 判断。。直接输出了 。。

回答2:

判断的逻辑有一点问题,不清晰。可以使用一下代码。
#include
int main(void)
{
int a,b,c;
int max;
printf("请输入三个数字:");
scanf("%d %d %d",&a,&b,&c);

max=a>b?(a>c?a:c):(b>c?b:c);
printf("%d\n",max);
return 0;
}

回答3:

我运行了一下,基本没错误。
但是少了有些条件下的输出,比如a>c>b,此时你给的条件里没有符合的,所以没有输出。还有b>c>a的时候也没输出。
因为a>b时,c可以大于a,可以小于b,也可以小于a大于b,但是你只考虑了前两种情况。同样a

回答4:

算法有问题,修改如下:

//---------------------------------------------------------------------------

#include
void main()
{
int a,b,c;
printf("请输入三个数字:");
scanf("%d %d %d",&a,&b,&c);
if (a > b)
{
if (a>c) printf("%d",a);
else printf("%d",c);
}
else if (b>c) printf("%d",b);

else printf("%d",c);
}
//---------------------------------------------------------------------------