아 문제를 잘못이해해서 다시한번 올리네요 죄송합니다 도와주세요 ㅠ
사이
질문 제목 : 질문 내용 :
과제를 열심히 풀던중 난관에 봉착했는데요 ㅠㅠ 너무 이해가 안가요 ㅠㅠ
문제는 데이터를 몇개 입력할것인지 입력을 하고 그 입력한 값중 평균값을 구해 평균값과 비교해서
가장 멀리있는 값을 찾아 그 값을 제외한
나머지 점수들로 평균을 구해서 출력하는 문제입니다 ㅠ 아마.. 올림픽같은거 보면 심판 최고값을뺀 점수로 평균을 내는거같은 문제같은데... 배열로 비교해서 어떻게 집어넣는건지 코딩이 안되요 ㅠ#include stdio.hvoid sumdata(float arr[], int size) //입력한것을 출력하는 함수
{
int i ;
printf(입력한 데이터의 갯수는 %d\n,size);
printf(\n);
for(i=0;isize; i++)
{ printf(data[ %d ] = %.1lf\n,i+1,arr[i]);
printf(\n); }
}void process_data(float arr[], int size) //평균내는 함수
{
int i ;
float result = 0 ; for(i=0; isize; i++)
{
result += arr[i] ;
} printf(평균:%lf\n,result/size);}
//평균값과 가장 멀리있는 입력을 찾고 그 값을 0 으로 변경후 그 값을 제외한 평균구하기
void print_average(float arr[], int size)
{
foalt temp = 0 ;
temp = arr[0];
for(i=0; isize; i++)
{
if(temp=arr[i])
{
temp=arr[i];
}
}
printf(가장 멀리 떨어진 값은 %.1lf\n,temp); result = result - temp ; printf(가장 멀리 떨어진 값을 뺀 평균:%lf\n,result/size);}평균값과 비교해서 가장 평균값과의 차이가 많이나는 수를 제외한 평균 구하기
int main()
{
// 개수가 10개인 1차원 배열 선언.
float arr[100];
int i;
int num ;
float result = 0;
printf(입력할 데이터의 갯수를 입력하세요:);
scanf(%d,&num); if(num100)
{
printf(입력할수있는 횟수를 초과하였습니다\n)니다\n); return 0;
}
for(i=0; inum; i++)
{
printf(%d번째 데이터의 값 : , i+1);
scanf(%f, &arr[i]); result += arr[i] ;
}
sumdata(arr, num);
process_data(arr, num);
return 0;
}
-
큐티베이비
제가 전에 올려드린거에서 매개변수로 평균을 받고 편차가 제일큰걸 찾아서 0으로 만드는걸로 바꾸면 될텐데요 ㅠ