主题:C语言新手问个小小的问题
极光极光
[专家分:0] 发布于 2006-09-22 10:42:00
刚学C语言不久,自己学着编了个小程序,键盘输入3个数,输出最大值,运行达不到目的,请问哪出错了,谢谢!
main()
{
int a,b,c,max;
scanf("%d,%d,%d",&a,&b,&c);
max=(a,b,c);
if (a>b>c) max=a;
else if (b>c>a) max=b;
else max=c;
printf("max=%d\n",max);
}
回复列表 (共24个回复)
沙发
zy1121 [专家分:7950] 发布于 2006-09-22 10:55:00
max=(a,b,c);// 此表达式将c的值赋与max
if (a>b>c) max=a; // >不是这么用的
#include <stdio.h>
int main()
{
int a,b,c,max;
scanf("%d,%d,%d",&a,&b,&c);
if (a>b) b=a;
else if (b>c) max=b;
else max=c;
printf("max=%d\n",max);
return 0;
}
板凳
极光极光 [专家分:0] 发布于 2006-09-22 11:03:00
o 哦,自己再琢磨下,谢谢1楼的
3 楼
30300243 [专家分:0] 发布于 2006-09-22 19:50:00
main()
{ int a,b,c,max;
scanf("%d%d%d",&a,&b,&c);
max=a;
if(b>a) max=b;
if(c>b) max=c;
printf("max=%d",max);
}
我也是个新手 不知道正确不 你看看!
4 楼
chinapag [专家分:0] 发布于 2006-11-01 11:25:00
main()
{
int a,b,c,max;
scanf("%d,%d,%d",&a,&b,&c);
if (a>b)
{if (b>c) max=a;
else max=c;}
else if (b>c) max=b;
else max=c;
printf("max=%d\n",max);
}
应该这样才对吧!请指教!
5 楼
woshihuo12 [专家分:0] 发布于 2006-11-02 09:24:00
scanf中的格式控制串中间不应该有","吧!!!?????
6 楼
youzj [专家分:0] 发布于 2006-11-05 12:03:00
main()
{
int a,b,c,max;
scanf("%d%d%d",&a,&b,&c);
if (a>b)
{if (a>c) max=a;
else max=c;}
else if (b>c) max=b;
else max=c;
printf("max=%d\n",max);
}
应该这样才对!请指教
7 楼
badbird007 [专家分:0] 发布于 2006-11-08 17:48:00
[quote]main()
{ int a,b,c,max;
scanf("%d%d%d",&a,&b,&c);
max=a;
if(b>a) max=b;
if(c>b) max=c;
printf("max=%d",max);
}
我也是个新手 不知道正确不 你看看![/quote]
如果是a>c>b就有问题了,呵呵
再加 if(a>c) max=a;就OK了
或者第二个if改成 if(c>b||a<c) max=c;^_^
PS:我也是新手^_^
8 楼
岚山 [专家分:320] 发布于 2006-11-08 21:40:00
if (b>a)
max = b;
else
max = a;
if (max<c)
max = c;
9 楼
STENDJOB [专家分:230] 发布于 2006-11-11 01:15:00
[quote]scanf中的格式控制串中间不应该有","吧!!!?????[/quote]
可以.这样用的话在输入的时候就应该按照这个格式对照输入.
比如:1,2,3
10 楼
weijun0711 [专家分:0] 发布于 2006-11-15 14:51:00
#include "stdio.h"
int main()
{
int a,b,c,max;
scanf("%d%d%d",&a,&b,&c);
max=(a>b)?(a>c?a:c):(b>c?b:c);
printf("max=%d\n",max);
return 0;
}
我来回复