以下是一个刚刚接触计算机的菜鸡的拙见。欢迎各位大佬发表意见。
第一种,也是我最早接触的一种,在谭浩强所写的c程序设计第五版第八页,该程序是比较两个整数中的较大者,我们只需要将程序稍加改动,也就是加入一个新的变量,就可以得到我们想要的三者取大,具体程序如下(该程序已经过调试):
#include<stdio.h>
int main()
{
int max(int w, int x, int y);
int a,b,c,d;
scanf("%d,%d,%d",&a,&b,&c);
d=max(a,b,c);
printf("%d",d);
return 0;
}
int max(int w, int x, int y)
{
int m,n;
if(w>x)
m=w;
else
m=x;
if(m>y)
n=m;
else
n=y;
return(n)
}
第一条程序的难点在于他加了一个附加函数max。这是我想如果不调用附加函数,并将其中的两个变量m,n,改为一个变量max ,程序会不会简单一点?于是我写出了第二条程序(该程序同样经过了调试):
#include<stdio.h>
int main()
{
int a,b,c,max;
scanf("%d,%d,%d",&a,&b,&c);
max=a;
if(max<b)
max=b;
if(max<c)
max=c;
printf("%d",max);
return 0;
}
当我在看书时,无意间发现条件运算符这个神奇的东西,一切似乎变得那么豁然开朗,而且可能是c语言中唯二的三目运算符。于是我又写出了下面这条程序(该程序同样经过了调试):
#include<stdio.h>
int main()
{
int a,b,c,x;
scanf("%d,%d,%d",&a,&b,&c);
x=(a>b)?(a>c?a:c):(b>c?b:c);
printf("%d",x);
return 0;
}
在我调试完三个程序之后,在我写这篇文章之前,我是万万没有想到这个简书是不能复制粘贴的,所以我又用手机把三个程序打了一遍。但愿是没有疏漏的,如果有,欢迎大家来指正,当然,如果大家有什么新奇的方法,也可以跟我交流。