c语言:输入20个0-10的整数,0、10 为无效数;去除一个最大值和一个最小值及无效数后计算平均数。#include<stdio.h> main() { int max=0,min=10,sum=0,a,b,i,j; float average=0; printf("请输入打分\n"); for(i=0,j=0;i<20;i++) { scanf("%d",&a[i]); if(a[i]!=0&&a[i]!
为了用C语言实现去掉最高分和最低分后求平均数的功能,我们可以按照以下步骤进行: 从数组中找出最高分和最低分: 遍历数组,找到最大值和最小值。 从总分中减去最高分和最低分: 遍历数组,累加所有分数得到总分,然后减去最高分和最低分。 计算剩余分数的数量(总数-2): 总数减去2,因为我们已经去掉了最高分...
在最后计算sum的时候,只需要用if语句让K不等于最大值和最小值的下标,就能剔除这两个值 同时,我们的平均数也只需要除以8即可 运行结果 键入数组中元素1-10,程序成功的输出了剔除1和10之后8个元素的平均值 但当我们把题目示例输进去时,得出的答案却和题目要求不同 题目实际要求 上面提到,这道题的要求并不是只...
printf("该选手的最高分为%d\n",max); printf("该选手的最低分为%d\n",min); int sum=0 , pj; for(i=0;i<5;i++) sum=sum+a[i]; pj=(sum-max-min)/3; printf("去掉一个最高分:%d,一个最低分:%d,该选手的平均分为%d\n",max,min,pj);return 0 ;}求帮忙优化,最好能告诉我为什么...
8,9,10};int max=0,min=0,i;int sum=0;for( i=0;i<10;i++){ if(max<str[i])max=str[i];if(min>str[i])min=str[i];sum+=str[i];} printf("%d\n",(sum-max-min)/10);return 0;} 如果不算最大最小的话,可以把10改成8,程序是求去掉max,min后10个数的平均值 ...
分别设置三个变量记录和、最大值、最小值,在读入过程中就不断更新,最后计算 “(和-最大值-最小值)/(个数-2)” 就行
;for(i=1;i<10;i++){ scanf("%lf",&a[i]);if(a[i]>max)max=a[i];else if(a[i]<=min)min=a[i];} avg=-(min+max);for(i=0;i<10;i++)avg+=a[i];avg/=8;printf("最大值:\t%f\n最小值:\t%f\n去最大最小值后平均值:%f\n",max,min,avg);return 0;} ...
如图
int integer,i,max,min,sum;max=-32768; /*先假设当前的最大值max为C语言整型数的最小值*/ min=32767; /*先假设当前的最小值min为C语言整型数的最大值*/ sum=0; /*将求累加和变量的初值置为0*/ for(i=1;i<=10;i++){ printf("Input number %d=",i);scanf("%d",&integer); ...
include<stdio.h>void main(){int a[10];int i,j,temp,sum=0;for(i=0;i<10;i++){scanf("%d",a+i);}for(i=0;i<9;i++){for(j=0;j<9-i;j++){if(a[j+1]<a[j]){temp=a[j];a[j]=a[i+1];a[j+1]=temp;}}}for(i=2;i<8;i++){sum+=a[i];}printf("...