| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 866 人关注过本帖
标题:学习太差,请教.
只看楼主 加入收藏
YOGIOH
Rank: 1
等 级:新手上路
帖 子:102
专家分:0
注 册:2007-5-8
收藏
得分:0 
以下是引用qs717123在2007-5-10 23:56:13的发言:
输出a,b,c最大值,这个程序该怎样写?
这是我写的但错了,请教错在哪了?
main()
{int a,b,c,d;
scanf("%d,%d,%d",&a,&b,&c);
d=max(a,b,c);
printf("max=%d",d);
}
int max(x,y,z)
int x,y,z;
{int d;
if(x>y>z) d=x;/*首先这个两个条件判断不是这样写吧,应该写成if(x>y&&y>z),再着这样判断也不对啊,比如6,3,4--6>3<4第一个不成立,第二个又不成立那就会变成d=y,事实上y最小,建议if语句改写成 d=((x>y)?x:y)>z?((x>y)?x:y):z;*/
if(x<y<z) d=z;


else d=y;
return (d);
}

#include<stdio.h>
#include<conio.h>
main()
{int a,b,c,d;
scanf("%d,%d,%d",&a,&b,&c);
d=max(a,b,c);
printf("max=%d",d);
getch();
}
int max(x,y,z)
int x,y,z;
{
int d;
d=((x>y)?x:y)>z?((x>y)?x:y):z;

return (d);
}

[此贴子已经被作者于2007-5-11 7:21:09编辑过]


2007-05-11 07:19
深渊菜鸟
Rank: 1
等 级:新手上路
威 望:1
帖 子:241
专家分:0
注 册:2007-5-4
收藏
得分:0 

我想问下十楼!因我是菜菜;所以不怎么看得懂你的程序!可我运行你的程序的时候怎么没有结果呢!@不说什么最大值么!纳闷!!


未来的路还很长.......不要轻言放弃.. 明天还有明天的路要走.......否则对不起自己
2007-05-11 08:31
YOGIOH
Rank: 1
等 级:新手上路
帖 子:102
专家分:0
注 册:2007-5-8
收藏
得分:0 

估计10楼是发给此贴的
http://bbs.bc-cn.net/viewthread.php?tid=138415


2007-05-11 08:43
爱以走远
Rank: 9Rank: 9Rank: 9
等 级:贵宾
威 望:52
帖 子:7542
专家分:21
注 册:2007-3-16
收藏
得分:0 

不好意思 发错拉 我不是发这个程序的

   好好活着,因为我们会死很久!!!
2007-05-11 12:25
爱以走远
Rank: 9Rank: 9Rank: 9
等 级:贵宾
威 望:52
帖 子:7542
专家分:21
注 册:2007-3-16
收藏
得分:0 

int max(x,y,z)
int x,y,z;
{int d;
if(x>y&&y>z) d=x;
if((x<y)&&(y<z)) d=z;
else d=y;
return (d);
}

main()
{int a,b,c,d;
scanf("%d%d%d",&a,&b,&c);
d=max(a,b,c);
printf("max=%d",d);
}


这个没问题 昨天想睡觉拉
没看清楚 呵呵 不好意思哈


   好好活着,因为我们会死很久!!!
2007-05-11 12:33
raulxxyuer
Rank: 1
等 级:新手上路
威 望:1
帖 子:178
专家分:0
注 册:2007-4-23
收藏
得分:0 

我很沒用,總是學不會遺忘,總是學不會割捨本不屬於我的東西。
2007-05-11 12:37
YOGIOH
Rank: 1
等 级:新手上路
帖 子:102
专家分:0
注 册:2007-5-8
收藏
得分:0 
以下是引用爱以走远在2007-5-11 12:33:32的发言:

int max(x,y,z)
int x,y,z;
{int d;
if(x>y&&y>z) d=x;
if((x<y)&&(y<z)) d=z;
else d=y;
return (d);
}

main()
{int a,b,c,d;
scanf("%d%d%d",&a,&b,&c);
d=max(a,b,c);
printf("max=%d",d);
}


这个没问题 昨天想睡觉拉
没看清楚 呵呵 不好意思哈

这样判断也不对吧,比如6,3,4--6>3<4第一个不成立
第二个又不成立那就会变成d=y
事实上y最小
建议if语句改写成 d=((x>y)?x:y)>z?((x>y)?x:y):z


2007-05-11 12:38
爱以走远
Rank: 9Rank: 9Rank: 9
等 级:贵宾
威 望:52
帖 子:7542
专家分:21
注 册:2007-3-16
收藏
得分:0 

看来真的不能大意拉

我是按他的 就给他改拉哈 就没看
这次好好改拉一哈
int max(x,y,z)
int x,y,z;
{int t;
if(x<y)
{t=x;x=y;y=t;}
if(x<z)
{t=x;x=z;z=t;}
return (x);
}

main()
{int a,b,c,d;
scanf("%d%d%d",&a,&b,&c);
d=max(a,b,c);
printf("max=%d",d);
}


   好好活着,因为我们会死很久!!!
2007-05-11 12:57
love52657
Rank: 1
等 级:新手上路
帖 子:75
专家分:0
注 册:2007-5-4
收藏
得分:0 
加引号啊  声明要加引号的吧!!

我 为 C 狂
2007-05-11 14:00
nanchangdaxu
Rank: 1
等 级:新手上路
帖 子:42
专家分:0
注 册:2007-4-30
收藏
得分:0 
函数要声明的,你这里错了,而且你的函数中的算法不好,不简洁,这样穷举只适合与小型的程序,稍微复杂的就不行了.楼主都看看函数的声明与调用,还有多熟悉一些好的算法.

世上无难事,只要肯登攀!
2007-05-11 16:04
快速回复:学习太差,请教.
数据加载中...
 
   



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

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