编程序实现.输入5个实数,去掉一个最大值,去掉一个最小值,求其他三个数的平均

#include<stdio.h>

int main()

{

int i;

float j,a[6];

for(i=1;i<=5;i++) scanf("%f",&a[i]);

a[0]=a[1];

a[6]=a[1];

for(i=2;i<=5;i++) {if(a[i]>a[0]) a[0]=a[i];}

for(i=2;i<=5;i++) {if(a[i]<a[0]) a[6]=a[i];}

j=(a[1]+a[2]+a[3]+a[4]+a[5]-a[0]-a[6])/3;

printf("去掉最大最小值后的平均数:%.1f",j);

}

哪里出问题了

a[6]数组中a[6]个元素是不能赋值的,因为最后一个元素要储存‘\0’按你的思路需要把数组扩充到a[7]这样能储存7个int值(7个元素循环中不至于把中间想要留下的值覆盖掉),但是最好利用其它int n,m之类的记录a[0]值这样容易阅读。

最后结果用for语句也更好看一点。还有不需要减去a[0]和a[6]吧。追问

输入整数,答案正确。
输入小数,答案有偏差
怎么回事啊

温馨提示:内容为网友见解,仅供参考
无其他回答

输入6个实数,去掉一个最大值,去掉一个最小值,求其他数的平均值?
include<iostream.h> int main(){ float num, total;\/\/total用于记录6个数的和 float min, max;\/\/分别用于记录最小值和最大值 cout<<"请输入一个实数: ";cin>>num;min = num;max = num;total = num;for( int i = 2; i <= 6; i++ ) { cout<<"请输入一个实数: ";cin>>nu...

...一个程序,利用for循环语句,不用数组,输入5个实数,把它们中的最大数...
minNumber = minNumber - maxNumber; } Console.WriteLine("最小值:{0}\\t最大值:{1}",minNumber.ToString()

输入五个实数到一个数组中,查找并输出其中的最大值 C++编程
printf("最大值是:%d",max);

C语言编程问题:编写程序求最大值、最小值及平均值。
return min;}double Average(double *p,int n){ double sum=0; for(int i=0;i<n;i++) sum+=*(p+i); return sum\/n;}int main(){ double a[10]; printf("请输入10个实数:\\n"); for(int i=0;i<10;i++) scanf("%f"...

用C语言怎么编写程序实现从键盘输入数值
\/\/从键盘输入10个数存入一维数组,求这10个数中的最大值和最小值并输出 intmain(){ inti;floatmax,min,num[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])...

...个3X3的实数矩阵,求两个对角线元素中各自的最大值。
编一个程序,输入一个3X3的实数矩阵,求两个对角线元素中各自的最大值。  我来答 1个回答 #热议# 已婚女性就应该承担家里大部分家务吗?喜羊羊651 2020-05-13 · TA获得超过297个赞 知道小有建树答主 回答量:1181 采纳率:76% 帮助的人:104万 我也去答题访问个人页 关注 ...

编写程序从键盘上输入三个实数利用if语句判断其中的最大值?
include <stdio.h> void main(){ float a,b,c;scanf("%f%f%f",&a,&b,&c);if(a>=b && a>=c)printf("最大值为:%f\\n",a);else if(b>=a && b>=c)printf("最大值为:%f\\n",b);else if(c>=a && c>=b)printf("最大值为:%f\\n",c);} ...

画出求三个不同实数中的最大值的程序框图
2016-06-01 设计算法,找出输入的三个不相等的实数a,b,c的最大值,并画... 2015-02-04 求三个不相等的实数a,b,c最大值的程序框图如图所示,则空白... 1 2015-06-18 算法设计题 要求:输出三个数中最大的数 请画出流程图 55 2015-02-04 右面的程序框图,如果输入三个实数a,b,c,要求输出这三个...

键盘输入N个实数,输出其中的最大值及其出现的个数。
int a[100];for(int i=0;i<N;i++)\/\/输入N个数 scanf("%d",&a[i]);int max=a[0];for(i=0;i<N;i++)\/\/找出最大值 if(a[i]>max)max=a[i];printf("the max number is:%d\\n",max);\/\/找出最大值出现的次数 int k=0;for(i=0;i<N;i++)if(a[i]==max)k++;prin...

在下面的程序框图表示的算法中,输入三个实数 ,要求输出的 是这三个...
B 由于该程序的作用输出a、b、c中的最大数,因此在程序中要比较数与数的大小,第一个判断框是判断最大值x与b的大小,故第二个判断框一定是判断最大值x与c的大小解:则流程图可知a、b、c中的最大数用变量x表示并输出,第一个判断框是判断x与b的大小∴第二个判断框一定是判断最大值x与c...

相似回答