| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 862 人关注过本帖
标题:请问这个程序错在哪里了?!
只看楼主 加入收藏
眼圈黑黑
Rank: 2
等 级:论坛游民
帖 子:27
专家分:20
注 册:2010-4-7
结帖率:60%
收藏
已结贴  问题点数:20 回复次数:10 
请问这个程序错在哪里了?!
刚才看了个帖子不是很明白
这个程序错在哪里了?!
输出最大者:
#include <stdio.h>  
void main()  
{  
int a,b,c;  
scanf("%d,%d,%d",&a,&b,&c);  
printf("%d",a<b?b:(a>c?a:c));  
}
搜索更多相关主题的帖子: include void 
2010-04-16 21:43
bj2010
Rank: 2
等 级:论坛游民
帖 子:12
专家分:53
注 册:2010-4-16
收藏
得分:10 
good,我喜欢会用三元操作符的初学者。

1、
scanf("%d,%d,%d",&a,&b,&c);   不要加逗号,不然只有a被扫描进去,不信你可以试着打印a, b, c

2、
a<b?b:(a>c?a:c)逻辑有问题,先整理一下

if (a < b){
    printf("%d\n", b);
}else{
    if (a > c){
        printf("%d\n",a);
    }else{
        printf("%d\n",c);
    }
}

看出问题了没有,只要b > a就不去比较b和c的关系,直接打印b
2010-04-16 21:49
tdy1006
Rank: 4
等 级:业余侠客
帖 子:173
专家分:240
注 册:2009-5-13
收藏
得分:0 
程序没错,注意输入的格式 “1,2,3”
在中间加入逗号
2010-04-16 22:08
nunununu
Rank: 2
等 级:论坛游民
帖 子:22
专家分:32
注 册:2010-3-31
收藏
得分:10 
源程序的确出了问题,
应该是:
printf("%d",a<b?(b>c?b:c):(a>c?a:c));

因为三个数无论如何,每一个数都要比较两次,才能产生最大值。

[ 本帖最后由 nunununu 于 2010-4-16 22:23 编辑 ]
2010-04-16 22:18
眼圈黑黑
Rank: 2
等 级:论坛游民
帖 子:27
专家分:20
注 册:2010-4-7
收藏
得分:0 
谢谢楼上诸位,理解了
问题如2楼所说
解决方法如4楼所说
总结下:逻辑上两两比较是关键
2010-04-16 22:31
任永旺
Rank: 1
来 自:河南项城
等 级:新手上路
帖 子:9
专家分:2
注 册:2010-4-16
收藏
得分:0 
程序没错啊,应该是输入的问题了,输入时数与数之间加都好了

追风少年!
2010-04-16 22:33
眼圈黑黑
Rank: 2
等 级:论坛游民
帖 子:27
专家分:20
注 册:2010-4-7
收藏
得分:0 
回复 6楼 任永旺
我试过了,源程序确实是错了,
问题就是2楼所说的,如果a<b,直接就打印b了,也就是说无论c多大,输出的结果也是b
解决办法就是4楼所说的
2010-04-16 22:47
甁瓶里D罐罐
Rank: 2
等 级:论坛游民
帖 子:34
专家分:20
注 册:2010-1-21
收藏
得分:0 
#include <stdio.h>  
void main()  
{  
int a,b,c;  
scanf("%d,%d,%d",&a,&b,&c);  
printf("%d",a<b?(b>c?b:c):(a>c?a:c));
}
为什么改成这样 还是有错呢   输入三个数 不论大小 结果永远都是第一个数
2010-04-16 23:04
眼圈黑黑
Rank: 2
等 级:论坛游民
帖 子:27
专家分:20
注 册:2010-4-7
收藏
得分:0 
回复 8楼 甁瓶里D罐罐
楼上,我拷贝了你的程序运行了
结果是可以实现最大数输出的
2010-04-17 08:45
甁瓶里D罐罐
Rank: 2
等 级:论坛游民
帖 子:34
专家分:20
注 册:2010-1-21
收藏
得分:0 
回复 9楼 眼圈黑黑
图片附件: 游客没有浏览图片的权限,请 登录注册
额你看截图
2010-04-17 19:49
快速回复:请问这个程序错在哪里了?!
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.038248 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved