c语言编程:编制函数,其功能是在float类型一维数组中查找最大值、最小值,并将它们返回到调用程序。

输入n
n个浮点数

输出
最大值 最小值
样例输入10
1.0
2.0
3.0
4.0
5.0
6.0
7.0
8.0
9.0
10.0样例输出10.00 1.00

//数组版本
#include <stdio.h>
#define N 100
int main()
{
float max,min,a[N];
int n,i;
scanf("%d",&n);
for(i=0;i<n;i++)
scanf("%f",a+i);
for(max=min=a[0],i=1;i<n;i++)
{
if(a[i]>max)
max=a[i];
if(a[i]<min)
min=a[i];
}
printf("%g %g",max,min);
return 0;
}
//普通版本
#include <stdio.h>
int main()
{
float t,max,min;
int n;
scanf("%d",&n);
scanf("%f",&t);
max=min=t;
while(--n)
{
scanf("%f",&t);
if(t>max)
max=t;
if(t<min)
min=t;
}
printf("%g %g",max,min);
return 0;
}
求采纳,谢谢追问

普通版本中的printf中应为%.2f吧,因为要保留2位小数啊

追答

如果要保存两位小数的话,可以把%g换成%.2f

温馨提示:内容为网友见解,仅供参考
第1个回答  2018-02-28
#include <stdio.h>

void fun(float a[],float *mx,float *mi)
{
int i=0;
for (i=0;i<10;i++)
{
if (i==0)
{
*mx = *mi = a[i];
}else
{
if (*mx<a[i])
{
*mx = a[i];
}
if (*mi >a[i])
{
*mi = a[i];
}
}
}
}


main() 

int i=0,n=0;
float a[10]={0},maxf=0,minf=0;
scanf("%d",&n);
for (i=0;i<10;i++)
{
scanf("%f",&a[i]);

}
fun(a,&maxf,&minf);
printf("MAXF[%f] MINF[%f]\n",maxf,minf);

}
10
1
2
3
4
5
6
7
8
9
0
MAXF[9.000000] MINF[0.000000]
Press any key to continue

第2个回答  2012-10-30
按最大或最小排序,然后输出数组两头的不就行了

c语言编程:编制函数,其功能是在float类型一维数组中查找最大值...
include <stdio.h> define N 100 int main(){ float max,min,a[N];int n,i;scanf("%d",&n);for(i=0;i<n;i++)scanf("%f",a+i);for(max=min=a[0],i=1;i<n;i++){ if(a[i]>max)max=a[i];if(a[i]<min)min=a[i];} printf("%g %g",max,min);return 0;} \/...

ACM 解疑:编制函数,其功能是在float类型一维数组中查找最大值、最...
float m;\/\/m最好是int型,本地没错,但WA,可能是平台不同。测试系统的编译器过没有?如果过了,可能因为flaot型有精度误差,当m很大是就显现出来了 cin>>m;a=new float[m];

C语言 代码 请问这段程序有什么问题?编制函数,其功能是在float类型一维...
if(a[i]<min) min=a[i]; } printf("%g %g",max,min); return 0;}

输入10个float类型数据,找到其中最大值与最小值,并输出的c语言程序
include<stdio.h>int main(){int i;float a[10];float max,min;printf("please enter 10 float:\\n");for(i=0;i<10;i++)scanf("%f",&a[i]);max=min=a[0];for(i=1;i<10;i++){if(a[i]>max) max=a[i];if(a[i]<min) min=a[i];}printf("max = %f\\n",max);prin...

C语言:【填空题】编写函数,求一组数中的最大值、最小值和平均值?
现在的自定义函数头应该改为float average(int a[],int n,int *max,int *min)这种样子。填空如下 【1】sum=0 【2】*min>a[i]【3】return ave 另:ave=1.0*sum\/n;这一句可能会编译警告,因为它把double型值赋给了float型ave,而double的类型级别比float高,会造成精度损失。

C语言,使用指针作为函数参数,写一求数组中最大值和最小指的函数
inta[]={1,5,6,2,3,8,9,7,4,5};//定义一个十个数据的数组 intmax;//存放最大值 intmin;//存放最小值 hanshu(a,10,&max,&min);//函数传送数组,并将最大值,最小值的地址传送 printf("Themaxnumberis%d\n",max);printf("Theminnumberis%d\...

C语言数组从键盘输入10个整数存入数组,找出其中最大和最小值,并输出...
printf("最大值为:%f\\n最小值为:%f\\n", max, min);\/\/关于return用法的额外信息:在C语言中,main函数通常返回0表示程序正常结束。在C++中,尽管C++98和C99标准略有不同,但main函数的返回值类型仍为int。在实际编写时,即使不显式返回,编译器可能会自动添加return 0;,但在vc6版本中可能不...

C语言数组从键盘输入10个整数存入数组,找出其中最大和最小值,并输出...
printf("请输入10个数,每输入一个数按回车键结束:\n");for(i=0;i<10;i++){ scanf("%f",&num[i]);} max=min=num[0];for(i=1;i<10;i++){ if(max<num[i])max=num[i];elseif(min>num[i])min=num[i];} printf("最大为...

C语言编程:键盘输入10个数,用函数实现计算数据中最大值、最小值,并返 ...
在主函数中声明一个具有10个int型元素的数组存放键盘输入的数据,声明变量ml记录最大值位置、ms记录最小值位置。自定义一个函数void Input_Max_Min(int *p,int *pl,int *ps)来完成题设要求,其中p是数组首指针,pl是最大值位置(下标)变量指针,ps是最小值位置(下标)变量指针。在主函数中输出结果...

求一个能输出C语言里的double类型的最大值和最小值的源代码,简单一点好...
include <float.h> 然后就可以使用以下符号了:DBL_MAX:double型的最大值 DBL_MIN:double型的最小值 FLT_MAX:float型的最大值 FLT_MIN:float型的最小值 比如:printf("double MAX=%ld, MIN=%ld\\n", DBL_MAX, DBL_MIN);

相似回答