| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1384 人关注过本帖
标题:关于最大和最小数的一个题
只看楼主 加入收藏
avijwvf
Rank: 1
等 级:新手上路
帖 子:6
专家分:0
注 册:2006-11-9
收藏
 问题点数:0 回复次数:22 
关于最大和最小数的一个题

求三个整数中的最大值和最小值,三个整数由键盘输入


main()
{ int x,y,z,a;
scanf("%d,%d,%d",&x,&y,&z);
a=max(x,y,z);
printf("max=%d\n",a);
a=min(x,y,z);
printf("min=%d\n",a);
getch();
}


int max(i1,i2,i3)
int i1,i2,i3;
{ int m1;
if((i1>=i2)&&(i1>=i3)) m1=i1;
if((i2>=i1)&&(i2>=i3)) m1=i2;
if((i3>=i1)&&(i3>-i2)) m1=i3;
return(m1);
}

int min(i1,i2,i3)
int i1,i2,i3;
{ int m1;
if(i1<=i2)
if(i1<=i3) m1=i1;
else m1=i3;
else if(i2<=i3) m1=i2;
else m1=i3;
return(m1);
}



输入789三个数 结果显示 max=12803 min=789
输入156三个数 结果显示 max=12803 min=156

是在WIN-TC下写的代码
请哪位高手给指点下

搜索更多相关主题的帖子: 小数 
2007-08-10 18:00
leeco
Rank: 4
等 级:贵宾
威 望:10
帖 子:1029
专家分:177
注 册:2007-5-10
收藏
得分:0 
您老的代码风格是若干年前的,不知道您老看的什么古董书。
2007-08-10 18:06
Maltase
Rank: 1
等 级:新手上路
帖 子:105
专家分:0
注 册:2007-8-7
收藏
得分:0 
[CODE]#include<stdio.h>
void main()
{
int num[3],max,min,i;
printf("请输入3个数:\n");
for(i=0;i<3;i++)
scanf("%d",&num[i]);
max=num[0];
min=num[0];
for(i=1;i<3;i++)
{
if (max<num[i])
max=num[i];
if (min>num[i])
min=num[i];
}
printf("最大值为%d\n",max);
printf("最小值为%d\n",min);
}[/CODE]
这样简单多了...

读书....努力读书.....
2007-08-10 18:21
avijwvf
Rank: 1
等 级:新手上路
帖 子:6
专家分:0
注 册:2006-11-9
收藏
得分:0 
貌似古董比较值钱滴 看完了得考虑拿去拍了 ...

各位还是先解决问题吧.....
2007-08-10 19:21
福尔摩斯
Rank: 5Rank: 5
等 级:贵宾
威 望:12
帖 子:4011
专家分:370
注 册:2006-8-15
收藏
得分:0 

max(max(a,b),c)不就可以了?

写3个不是太麻烦?


自我放逐。。。
2007-08-10 19:24
ljfljf2006
Rank: 1
等 级:新手上路
帖 子:58
专家分:0
注 册:2005-9-11
收藏
得分:0 
这是我的
int min(int a,int b)
{ return a<b?a:b;
}
int max(int a,int b)
{ return a>b?a:b;
}
main()
{ int x,y,z,a;
scanf("%d%d%d",&x,&y,&z);
a=max(x,max(y,z));
printf("max=%d\n",a);
a=min(x,min(y,z));
printf("max=%d\n",a);
getch();
}
我测试了你的程序 编译通过 运行结果也正确
你是输入数据的时候出错了吧
如果你想输入 6 7 8 三个数字
按照你的程序应该是输入 6,7,8回车

I will come back!
2007-08-10 19:39
yehwei
Rank: 1
等 级:新手上路
帖 子:2
专家分:0
注 册:2007-8-10
收藏
得分:0 
应该输入7,8,9
你试试看
2007-08-10 23:12
Maltase
Rank: 1
等 级:新手上路
帖 子:105
专家分:0
注 册:2007-8-7
收藏
得分:0 
scanf("%d,%d,%d",&x,&y,&z);
你输入的时候要按照格式来输入的,必须每个数字之间加“,”因为是在scanf里这样写的,最好是%d之间不要加“,”,不然你输入的时候不按照格式来输入会出错

读书....努力读书.....
2007-08-10 23:36
小野猫
Rank: 1
等 级:新手上路
帖 子:53
专家分:0
注 册:2007-7-13
收藏
得分:0 

scanf输入函数要求整数中间有逗号的 所以你在输入时必须加上逗号的
如果不加 运行时就会出错
%d要求输入一个整数后系统会等到你输入一个逗号,当你输入整数的时候
程序就会被打乱 然后输出的东西一般都很随机


2007-08-11 01:02
avijwvf
Rank: 1
等 级:新手上路
帖 子:6
专家分:0
注 册:2006-11-9
收藏
得分:0 

谢谢, 谢谢
果然还是输入的问题


本人初学,哪位朋友给介绍本好点的书
我用的确实像2楼的说的一样,太....古董了

2007-08-11 10:54
快速回复:关于最大和最小数的一个题
数据加载中...
 
   



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

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