C程题:分别用函数和带参的宏,从三个数中找出最大的数.Description分别用函数和带参的宏,从三个数中找出最大的数.Input3个实数Output最大的数,输出两遍,先用函数,再用宏.保留3位小数.Sample Input
来源:学生作业帮助网 编辑:作业帮 时间:2024/07/09 03:28:42
![C程题:分别用函数和带参的宏,从三个数中找出最大的数.Description分别用函数和带参的宏,从三个数中找出最大的数.Input3个实数Output最大的数,输出两遍,先用函数,再用宏.保留3位小数.Sample Input](/uploads/image/z/9198435-3-5.jpg?t=C%E7%A8%8B%E9%A2%98%EF%BC%9A%E5%88%86%E5%88%AB%E7%94%A8%E5%87%BD%E6%95%B0%E5%92%8C%E5%B8%A6%E5%8F%82%E7%9A%84%E5%AE%8F%2C%E4%BB%8E%E4%B8%89%E4%B8%AA%E6%95%B0%E4%B8%AD%E6%89%BE%E5%87%BA%E6%9C%80%E5%A4%A7%E7%9A%84%E6%95%B0.Description%E5%88%86%E5%88%AB%E7%94%A8%E5%87%BD%E6%95%B0%E5%92%8C%E5%B8%A6%E5%8F%82%E7%9A%84%E5%AE%8F%2C%E4%BB%8E%E4%B8%89%E4%B8%AA%E6%95%B0%E4%B8%AD%E6%89%BE%E5%87%BA%E6%9C%80%E5%A4%A7%E7%9A%84%E6%95%B0.Input3%E4%B8%AA%E5%AE%9E%E6%95%B0Output%E6%9C%80%E5%A4%A7%E7%9A%84%E6%95%B0%2C%E8%BE%93%E5%87%BA%E4%B8%A4%E9%81%8D%2C%E5%85%88%E7%94%A8%E5%87%BD%E6%95%B0%2C%E5%86%8D%E7%94%A8%E5%AE%8F.%E4%BF%9D%E7%95%993%E4%BD%8D%E5%B0%8F%E6%95%B0.Sample+Input)
C程题:分别用函数和带参的宏,从三个数中找出最大的数.Description分别用函数和带参的宏,从三个数中找出最大的数.Input3个实数Output最大的数,输出两遍,先用函数,再用宏.保留3位小数.Sample Input
C程题:分别用函数和带参的宏,从三个数中找出最大的数.
Description
分别用函数和带参的宏,从三个数中找出最大的数.
Input
3个实数
Output
最大的数,输出两遍,先用函数,再用宏.保留3位小数.
Sample Input
1 2 3
Sample Output
3.000
3.000
另:用参数求最大值的那部分这么写都哪里错了?
#include
int main()
{
int max(int a,int b,int c);
scanf("%d %d %d",&a,&b,&c);
printf("%.3f",max()};
getch();
return 0;
}
void max(int x,int y,int z)
{
int max;
max=x>(y>z?y:z)?x:(y>z?y:z);
}
C程题:分别用函数和带参的宏,从三个数中找出最大的数.Description分别用函数和带参的宏,从三个数中找出最大的数.Input3个实数Output最大的数,输出两遍,先用函数,再用宏.保留3位小数.Sample Input
你这里面错误实在太多了,列举如下:
1.函数声明和函数定义不一致,max函数定义处为void,但声明为int
2.函数声明应该放在main函数之外对应这句,int max(int a,int b,int c),这里不用传入a、b、c
3.a,b,c没有定义 scanf("%d %d %d",&a,&b,&c);
4.函数声明的参数和返回值都是int,但要求是实数
5.求最大值时,没有传入参数,这句printf("%.3f",max()};
比较乱,下面给出正确的结果
#include
#define Max(x,y,z) (x)>(y) && (x)>(z) (x) :((y)>(z)?(y) :(z))
float my_max(float,float,float);
int main()
{
float a,b,c;
scanf("%f %f %f",&a,&b,&c);
printf("%.3f\n",my_max(a,b,c));
printf("%.3f",Max(a,b,c));
getch();
return 0;
}
float my_max(float x,float y,float z)
{
float max_num;
max_num = x>y && x>z x :(y>z y :z);
return max_num;
}