输入3个数输出最大(C++)

#include<stdio.h>
void main()
{
int a,b,c,max;
scanf("%d,%d,%d\n",&a,&b,&c);
max = a;
if(b > a)
max = b;
if(c > b)
max = c;
printf("max = %d\n",max);
}
老师给出了答案,但是我就是不明白要是a>c>b的时候输出的结果就应该是C呀,怎么还会输出正确的A呢??

第1个回答  2010-03-18
你这个程序本身有问题。当a>c>b时,输出的应该是c.
if(b > a)
max = b;
if(c > b)
max = c;
应该改成:
if(b > max)
max = b;
if(c > max)
max = c;

另外:scanf("%d,%d,%d\n",&a,&b,&c);这条语句最好必成:
scanf("%d%d%d",&a,&b,&c);这样你在输入数据时,不需要输入,与两个Enter
第2个回答  2010-03-18
你说的没错,这题是有问题的。你们老师给的答案是错的 ,你可以试试输4,2,1最好把scanf里的\n去掉,用逗号隔开输入项
第3个回答  2010-03-18
两个if语句有先后顺序的,执行“if c>b”的操作是要在if(b>a)成立基础之上。
第4个回答  2010-03-18
不是吧,这是你们老师给的答案?你把abc都打印出来看下不就知道了。
#include<stdio.h>
void main()
{
int a,b,c,max;
scanf("%d,%d,%d\n",&a,&b,&c);
max = a;
if(b > a)
max = b;
if(c > b)
max = c;
printf("a=%d,b=%d,c=%d\n", a, b, c);
printf("max = %d\n",max);
}

scanf("%d,%d,%d\n",&a,&b,&c);改成scanf("%d %d %d",&a,&b,&c);再试试
第5个回答  2010-03-18
输出以最后赋得定义为准。去看看C++中的优先级问题。

输入3个数输出最大(C++)
max = c;应该改成:if(b > max)max = b;if(c > max)max = c;另外:scanf("%d,%d,%d\\n",&a,&b,&c);这条语句最好必成:scanf("%d%d%d",&a,&b,&c);这样你在输入数据时,不需要输入,与两个Enter

任意输入三个数,找出其中的最大值。用C++编写
include <stdio.h> void main { char n1,n2,n3,max;scanf(“%c%c%c”&n1,&n2,&n3);max=n1>n2?n1:n2;printf(“%c\\n”,max);} 注意:C语言中的标点符号都需要为英文中的标点符号。

C++输入三个整数,输出最大的数。
int main(){ int a,b,c;int max;cout<<"输入:"<<endl;cin>>a>>b>>c;max=a>b?a:b;max=max>c?max:c;cout<<"输出:"<<endl;cout<<max<<endl;return 0;}

关于C++,从键盘输入3个整数,输出其中最大数
using namespace std;void main(){ int a,b,c,max;cout<<"please input the three num:";cin>>a>>b>>c;max=(a>b)?a:b;max=(max>c)?max:c;cout<<"max is :"<<max<<endl;}

用C++编写一个C程序,输入a,b,c,3个值,输出其中最大者
程序如下:include <stdio.h> int main(){ int a,b,c,Max;printf("请输入3个数:\\n");scanf("%d%d%d",&a,&b,&c);Max=a>b?(a>c?a:c):(b>c?b:c);printf("3个数中最大值为:%d\\n",Max);return 0;}

c语言输入三个数,显示最大值。
5、再次点击文件、新建。6、选择c++ source file 并在右侧输入文件名字。7、输入代码,这里以abc分别代表三个不同的数,其他需要比较的数只要把abc换成相应的数就可以了。注意代码的输入要在英文输入法的环境下进行。8、点击右上角的编译运行按钮。9、就可以得到了三个数中的最大值并且输出来了。

C++ 编程:从键盘任意输入3个整数,输出其中的最大者
include <iostream> using namespace std;void main(){ int a,b,c,d,e;cout << "输入3个整数:";cin >> a>>b>>c;d = a>b?a:b;e = d>c?d:c;cout << "最大数为:"<<e;}

C++三个数取最大
1、scanf("%d,%d,d%",&a,&b,c&);符号位置错了→scanf("%d,%d,%d",&a,&b,&c);2、return (w);→应该是return (v);3、int v 比较多余。可以还用接着用w作为中间值。int max(int x, int y,int z){ int w; if(x>y)w=x; else w=y; if (w<z) w=z; ...

输入abc三个数,求最大的数。用C++编写怎么写?
printf("请输入第%d个值",i+1);scanf("%d",&a[i]); \/\/将三个数人别存入数组的三个空间里 } printf("最大值是%d",max(a)); \/\/输出最大值为max(a)的返回值 } int max(int t[3]) \/\/函数作用为求最大值 { int i,m; \/\/i作为循环变量,m为最大值 m=t[0]; \/\/我们假设第...

用C++编写一个C程序,输入a,b,c,3个值,输出其中最大者
\/\/用C++编写一个C程序,输入a,b,c,3个值,输出其中最大者\\x0d\\x0a#include \\x0d\\x0amain()\\x0d\\x0a{ \\x0d\\x0a\\x0d\\x0aint a,b,c,max;\\x0d\\x0aprintf("输入要比较大小的三个数:\\n"); \/\/键盘依次输入\\x0d\\x0ascanf("%d%d%d",&a,&b,&c); \/\/录入数...

相似回答
大家正在搜