关于c语言编程问题:有3个整数a,b,c,有键盘输入,输出其中最大的数

程序如下:#include <stido.h>
void main()
{ int a,b,c;
printf("a ,b, c ");
scanf ("%a%b%c",&a,&b,&c);
if (a>b)
if (b>c) printf("%d",a);
else
{ if (b>c) printf("%d",b);
else printf("%d",c) };
程序可以运行,但是无法显示结果,请问这是怎么回事?麻烦解答下!

我的思路是a>b   1,若成立    (1)b>c  则   输出a
                          2,若不成立    (1)假如   b>c   ①成立    则输出b   ②   不成立  输出  c
你可以按我的思路看看我的代码吗    我只想知道我的代码哪儿错了

程序如下:#include <stido.h>
                         void main()
                    { int a,b,c;
                         printf("a ,b, c ");
                          scanf ("%a%b%c",&a,&b,&c);  //这里改成scanf("%d%d%d",&a,&b,&c);
                         if (a>b)
                          if  (b>c)   printf("%d",a);    //此处if...else...嵌套混乱出了问题
                           else
                      {   if  (b>c)    printf("%d",b);
                              else    printf("%d",c)  };

温馨提示:答案为网友推荐,仅供参考
第1个回答  2013-10-10
#include <stdio.h>
int main()
{
int a,b,c;
printf("请输入a,b,c:");
scanf("%d%d%d",&a,&b,&c);
if(a>=b&&a>=c)printf("%d",a);
else if(b>=a&&b>=c)printf("%d",b);
else if(c>=a&&c>=b)printf("%d",c);
return 0;
}
错的有点多追问

这是我的原程序,麻烦重新看下

追答

#include
int main()
{
int a,b,c;
printf("请输入a,b,c:");
scanf("%d%d%d",&a,&b,&c);
if(a>=b&&a>=c)printf("%d",a);
else if(b>=a&&b>=c)printf("%d",b);
else if(c>=a&&c>=b)printf("%d",c);
return 0;
}

追问

我的思路是a>b 1,若成立 (1)b>c 则 输出a
2,若不成立 (1)假如 b>c ①成立 则输出b ② 不成立 输出 c
你可以按我的思路看看我的代码吗 我只想知道我的代码哪儿错了

追答

成立,if else是配对的,你的大括号没有用好

本回答被网友采纳
第2个回答  2013-10-10
“if (a>b) if (b>c) printf("%d",a);”两个if语句不能这样连用,第一个if后必须有执行语句。追问

可以按照我的思路,是我的代码尽量变动不大的改动吗

追答

可能的确和你代码最接近的就是楼上的算法了。你的原意是a>b且b>c吧,那就要用&&