最近,国服院举办了一场十佳歌手的比赛。评委就是每位观众,观众可以给选手打出1-100的分值,均是整数。观看比赛的时候,观众以10个人一排就坐。第一排坐满了才坐第二排,保证座位的连续性。现在出现了跟风打分现象,就是看了左右的人后打分。因此,规定同一排的连着的三个人,或者不连续但是三个人以上分数是一样的,那么这些人的分数就都不算数,视为无效分。现在求观众的有效平均分。(结果保留两位小数)
以下是固定代码,你只需提交函数部分即可。
#include<stdio.h>
double solve(int m,int x[]);
int main()
{
int n,a[1005];
scanf("%d",&n);
for(int i=0;i<n;i++)
scanf("%d",&a[i]);
printf("%.2f\n",solve(n,a));
return 0;
}
输入n表示有一共有n个人, 0<n<=1005。
接下来输入n个数据范围1-100的值代表每一个人所打的分。
所有有效分的平均值(保留两位小数)
样例一中第一排的5 6 7 8的都为无效分,第二排的5 6 7都为无效分,所以有效的平均分是420/13=32.31
样例二中第一排的所有人都分数一样,都是无效分,所有有效分数为(80+90)/2=85.00
需要特别考虑观众数为0的情况,观众数为0,平均分也为0。