c语言编写一个程序,求三个数中最小值,要求带参宏实现

 我来答
风若远去何人留
推荐于2017-09-07 · 知道合伙人互联网行家
风若远去何人留
知道合伙人互联网行家
采纳数:20412 获赞数:450132
专业C/C++软件开发

向TA提问 私信TA
展开全部
适用C语言中的?:操作,可以很方便的实现。
#define min(a,b,c) a>b?(b>c?c:b):(a>c?c:a)
其原理为,先比较a和b,再用较小值与c比较。
不过用一个比较两个数,得到最小值的宏过渡,代码会更清晰。
#define min2(a,b) (a>b?b:a)
#define min3(a,b,c) (min2(a, min2(b,c)))
IT孤鹜
2014-05-09 · TA获得超过4198个赞
知道大有可为答主
回答量:3960
采纳率:71%
帮助的人:3582万
展开全部
#include<stdio.h>
#define MIN(x,y) (x>y?y:x)
void main()
{
     int a=1,b=2,c=3,min;
     min=MIN(MIN(a,b),c);
     printf("%d\n",min);
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
chenfenggang99
2014-05-09 · TA获得超过1850个赞
知道大有可为答主
回答量:1746
采纳率:75%
帮助的人:1746万
展开全部
#include<stdio.h>
#define MAX(a,b) ((a)>(b)? a=a:a=b)
下面主程序里可以改成
int main() 

int x,y,z,t; 
scanf("%d%d%d",&x,&y,&z,); 
MAX(x,y);
MAX(x,z);
printf("the max: %d\n",x); 
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
圣诞节df
2014-05-09
知道答主
回答量:24
采纳率:0%
帮助的人:10.6万
展开全部
#include<stdio.h>
#define MAX(a,b,c) {if(b>a) {a=b;if(c>b){a=c;}}}
void main()
{
int max,a,b,c;
printf("a=\nb=\nc=\n");
scanf("%d%d%d",&a,&b,&c);
MAX(a,b,c);
printf("max=%d",a);
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
阳顶天鹿鼎记
推荐于2017-10-04 · TA获得超过502个赞
知道小有建树答主
回答量:675
采纳率:100%
帮助的人:406万
展开全部
#include <stdio.h>

#define MinNum(a,b,c) (a>b?b:a)>c?c:(a>b?b:a)

void main()
{
int a=1,b =2,c=3;

int min;

min = MinNum(a,b,c);

printf("a,b,c中最小的数是:%d\n",min);

}
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(8)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式