C程题:分别用函数和带参的宏,从三个数中找出最大的数。
Description分别用函数和带参的宏,从三个数中找出最大的数。Input3个实数Output最大的数,输出两遍,先用函数,再用宏。保留3位小数。SampleInpu...
Description
分别用函数和带参的宏,从三个数中找出最大的数。
Input
3个实数
Output
最大的数,输出两遍,先用函数,再用宏。保留3位小数。
Sample Input
1 2 3
Sample Output
3.000
3.000
另:用参数求最大值的那部分这么写都哪里错了?
#include<stdio.h>
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);
} 展开
分别用函数和带参的宏,从三个数中找出最大的数。
Input
3个实数
Output
最大的数,输出两遍,先用函数,再用宏。保留3位小数。
Sample Input
1 2 3
Sample Output
3.000
3.000
另:用参数求最大值的那部分这么写都哪里错了?
#include<stdio.h>
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);
} 展开
6个回答
展开全部
程序如下:
#define max1(a,b,c) ((a)>(b)?(a):(b))>(c)?((a)>(b)?(a):(b)):(c)//宏定义求最大值
#include<stdio.h>
int max(int x,int y,int z)//定义函数求最大值
{
int max1;
int a=y>z?y:z;
max1=x>a?x:a;
return max1;
}
int main()
{
int a,b,c;
printf("输入三个数:\n");
scanf("%d%d%d",&a,&b,&c);
printf("函数调用结果:%.3f\n",float(max(a,b,c)));//强制转换为浮点数
printf("宏定义结果:%.3f\n",float(max1(a,b,c)));
getchar();
return 0;
}
运行截图如下:
展开全部
你这里面错误实在太多了,列举如下:
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<stdio.h>
#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;
}
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<stdio.h>
#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;
}
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
#include<stdio.h>
int main() (main函数前面是没有类型名的)
{
int max(int a,int b,int c);(你下面运行的时候是void max 这里max的类型又是int 这样不对,而且你这是在定义函数,不应该放在main函数里面)
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程写下吧,你参考参考
#include<stdio.h>
int max(int a,int b,int c);
{int max=a;
if(b>a)
{if(b>c) max=b;
else max=c;}
else if(c>a) max=c;
return max;
}
main()
int max,x,y,z;
max(x,y,z)
printf(max=%d,max());
}
int main() (main函数前面是没有类型名的)
{
int max(int a,int b,int c);(你下面运行的时候是void max 这里max的类型又是int 这样不对,而且你这是在定义函数,不应该放在main函数里面)
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程写下吧,你参考参考
#include<stdio.h>
int max(int a,int b,int c);
{int max=a;
if(b>a)
{if(b>c) max=b;
else max=c;}
else if(c>a) max=c;
return max;
}
main()
int max,x,y,z;
max(x,y,z)
printf(max=%d,max());
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
#include<stdio.h>
//#include <conio.h>
#define MAX(x,y,z) x>(y>z?y:z)?x:(y>z?y:z)//定义宏
int main()
{
float Max(float a,float b,float c);
float a,b,c;//要求是实数
scanf("%f %f %f",&a,&b,&c);
printf("%.3f\n",Max(a,b,c));//函数要输入实参
printf("%.3f\n",MAX(a,b,c));
getch();
return 0;
}
float Max(float x,float y,float z)//函数使用返回值
{
float max;
max=x>(y>z?y:z)?x:(y>z?y:z);
return max;
}
//#include <conio.h>
#define MAX(x,y,z) x>(y>z?y:z)?x:(y>z?y:z)//定义宏
int main()
{
float Max(float a,float b,float c);
float a,b,c;//要求是实数
scanf("%f %f %f",&a,&b,&c);
printf("%.3f\n",Max(a,b,c));//函数要输入实参
printf("%.3f\n",MAX(a,b,c));
getch();
return 0;
}
float Max(float x,float y,float z)//函数使用返回值
{
float max;
max=x>(y>z?y:z)?x:(y>z?y:z);
return max;
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
max=x>(y>z?y:z)?x:(y>z?y:z);
==> max=x>y? ( x>z?x : z) : ( y>z?y:z);
#define Max(x,y,z) (x)>(y)? ( (x)>(z)?(x) :( z)) : ( (y)>(z)?(y):(z))
==> max=x>y? ( x>z?x : z) : ( y>z?y:z);
#define Max(x,y,z) (x)>(y)? ( (x)>(z)?(x) :( z)) : ( (y)>(z)?(y):(z))
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询