2个回答
展开全部
用函数做:
#include<stdio.h>
float hanshu(float a,float b,float c,float d)
{
float f[4],e;
int i,j;
f[0]=a;
f[1]=b;
f[2]=c;
f[3]=d;
e=f[0];
for(i=0;i<4;i++)
for(j=i+1;j<4;j++)
if(f[j]>f[i])
e=f[j];
return e;
}
main()
{
int i;
float g[4];
printf("请输入四个数字\n");
for(i=0;i<4;i++)
scanf("%f",&g[i]);
printf("最大的数字是%f\n",hanshu(g[0],g[1],g[2],g[3]));
}
用宏做:
#define MAX(a,b,c,d) ((a>b?a:b)>c?(a>b?a:b):c)>d?((a>b?a:b)>c?(a>b?a:b):c):d
main()
{
int i;
float g[4];
printf("请输入四个数字\n");
for(i=0;i<4;i++)
scanf("%f",&g[i]);
printf("最大的数字是%f\n",MAX(g[0],g[1],g[2],g[3]));
}
我都编译通过的,肯定对!!呵呵,挺简单的,不值10分哈……
#include<stdio.h>
float hanshu(float a,float b,float c,float d)
{
float f[4],e;
int i,j;
f[0]=a;
f[1]=b;
f[2]=c;
f[3]=d;
e=f[0];
for(i=0;i<4;i++)
for(j=i+1;j<4;j++)
if(f[j]>f[i])
e=f[j];
return e;
}
main()
{
int i;
float g[4];
printf("请输入四个数字\n");
for(i=0;i<4;i++)
scanf("%f",&g[i]);
printf("最大的数字是%f\n",hanshu(g[0],g[1],g[2],g[3]));
}
用宏做:
#define MAX(a,b,c,d) ((a>b?a:b)>c?(a>b?a:b):c)>d?((a>b?a:b)>c?(a>b?a:b):c):d
main()
{
int i;
float g[4];
printf("请输入四个数字\n");
for(i=0;i<4;i++)
scanf("%f",&g[i]);
printf("最大的数字是%f\n",MAX(g[0],g[1],g[2],g[3]));
}
我都编译通过的,肯定对!!呵呵,挺简单的,不值10分哈……
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询