PAT乙級比賽-互評成績計算

weixin_45663946發表於2020-10-16
題目描述:

在這裡插入圖片描述

在這裡插入圖片描述
程式碼:

#include<iostream>
#include<algorithm>
#include<cmath>

using namespace std;
int main()
{
	int n1=0,n2=0,special=0;
	int num[101];
	float flag[101];
	scanf("%d %d",&n1,&n2);
	//讀入資料 
	//一行資料一處理 
	for(int i=0;i<n1;i++)
	{
		int special=0;
		for(int j=0;j<n1;j++)
		{
			scanf("%d",&num[j]);
			if(num[j]<0 || num[j]>n2)
			{
				num[j]=0;
				special++;//設定special去確定最低分的位置 因為我們把壞值
				都變為了0,所有0會佔位置
			}
				 
		}
		sort(num+1,num+n1);
		
		num[1+special]=0;//去掉一個最高分 去掉一個最低分 
		num[n1-1]=0;
		 
		 
		
//		for(int i=0;i<n1;i++)
//	{
//		printf("%d\n",num[i]);
//	}
//	
		float sum=0,ave=0;//求學生評分的平均值 
		for(int j=1;j<n1;j++)
		{
			sum+=num[j];
		}
		ave=(float)(sum/(n1-3-special)+num[0])/2;
		flag[i]=ave;
	}
	
	for(int i=0;i<n1;i++)
	{
		cout<<round(flag[i])<<endl;
	}


}

相關文章