比较数值中求最小值的代码

lures 2012-04-09 09:58:10
为什么求最大值的可以用max ,并且可以编译出来,而换成求最小值min时却无法编译呢,那么求最小值到底该怎么求
...全文
265 16 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
16 条回复
切换为时间正序
请发表友善的回复…
发表回复
Qyee16 2012-04-10
  • 打赏
  • 举报
回复
lz应该找本书看。。。。。
hen_hao_ji 2012-04-10
  • 打赏
  • 举报
回复

用这个试试,这不就是你刚开始提出来的方法吗
#include<stdio.h>

int main()
{
int arr[] = {10,9,5,40,100};
int n = sizeof(arr)/sizeof(int);

int min = arr[0];
int i;
for(i = 1; i < n; ++i)
{
if(arr[i] < min)
{
min = arr[i];
}
}
printf("%d\n", min);

return 0;
}


lures 2012-04-10
  • 打赏
  • 举报
回复
上面报错iostream,找不到原文件,namespace也报错
lures 2012-04-10
  • 打赏
  • 举报
回复
可是我看不懂这个程序,你可以大概讲解一下所用的方法吗
hen_hao_ji 2012-04-10
  • 打赏
  • 举报
回复

楼主参考下:

#include<iostream>
using namespace std;

int main()
{
int arr[] = {10,9,5,40,100};
int n = sizeof(arr)/sizeof(int);

int min = arr[0];
for(int i = 1; i < n; ++i)
{
if(arr[i] < min)
{
min = arr[i];
}
}
printf("%d\n", min);

return 0;
}

lures 2012-04-10
  • 打赏
  • 举报
回复
我用先取负在求最大然后再取负的方法做出来了,但还是觉得过程有点麻烦,能不能有更好的办法呢,自定义min函数这个我没做出来,求代码
lures 2012-04-10
  • 打赏
  • 举报
回复

#ifndef min
#define min(a,b) (((a)<(b))?(a):(b))
#endif
int main()
{
printf("%d", min(1,2));
return 0;
}
还是显示不出来,
JackBurd 2012-04-09
  • 打赏
  • 举报
回复
最大值首先初始为数组首元素,然后遍历数组更新最小值即可。
hen_hao_ji 2012-04-09
  • 打赏
  • 举报
回复
你把求 最大数 的 Max改成 min后,把 if里面的 < 换成 > 号,应该就行了。
godmmx 2012-04-09
  • 打赏
  • 举报
回复
主公英明………………

[Quote=引用 4 楼 的回复:]
C/C++ code

printf("%d", min(min(min(1,2),2),2));
[/Quote]
面包大师 2012-04-09
  • 打赏
  • 举报
回复
printf("%d", min(min(min(1,2),2),2));
lures 2012-04-09
  • 打赏
  • 举报
回复
那如果是多个数比较呢
面包大师 2012-04-09
  • 打赏
  • 举报
回复
#include<stdio.h>//有可能未定义,改成这样就好了
#ifndef min
#define min(a,b) (((a)<(b))?(a):(b))
#endif
int main()
{
printf("%d", min(1,2));
return 0;
}
justkk 2012-04-09
  • 打赏
  • 举报
回复
没有那个函数吧
自己实现一个
JackBurd 2012-04-09
  • 打赏
  • 举报
回复
LZ是薇迷吗?交个朋友吧!
AndyZhang 2012-04-09
  • 打赏
  • 举报
回复
把你要算的数取相反数,然后求最大值,最后再添上负号就行啦

70,020

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧