oj9.8的正确写法如下,但仍有一些问题 先mark
#include<stdio.h>
#define fun(a,b,c) ((a)>(b)?(a>c?a:c):(b>c?b:c))
float max(float a,float b,float c)
{
float t;
if(a>b&&a>c)
{
t=a;
}
else if(b>a&&b>c)
{
t=b;
}
else if(c>a&&c>b)
{
t=c;
}
return t;
}
int main()
{
float a,b,c,t;
scanf("%f %f %f",&a,&b,&c);
max(a,b,c);
printf("%.3f\n",max(a,b,c));
printf("%.3f",fun(a,b,c));
}
此前的想法是这样的
#include<stdio.h>
#define fun(a,b,c) ((a)>(b)?(a>c?a:c):(b>c?b:c))
float max(float a,float b,float c)
{
float t;
if(a>b&&a>c)
{
t=a;
}
else if(b>a&&b>c)
{
t=b;
}
else if(c>a&&c>b)
{
t=c;
}
return t;
}
int main()
{
float a,b,c,t;
scanf("%f %f %f",&a,&b,&c);
printf("%.3f\n",t);
printf("%.3f",fun(a,b,c));
}
调用函数后输出的t是0.000 百思不得其解 果然是我太菜了
再想想
先记录一下QWQ