배열 최빈값 구하는 소스 좀 갈켜주셈.
도란
질문 제목 : 배열 최빈값 구하는 소스 좀 갈켜주셈질문 요약 :이소스를 보고 최빈값좀...
소스라두 부탁드려요.ㅠㅠ질문 내용 :
#include stdio.h
void stdave(int a, int count);
void stdave2(int a, int count);
void main()
{
int std[10][3]={0};
int i, num=0, bb;
do
{
printf(점수를 입력할 학생수를 입력하시오 : );
scanf(%d,&bb);//먼저 입력할 학생수를 입력받음
if(bb 10)
printf(최대 학생수는 10명입니다!\n);
}while(bb10); //최대 10명이라고 했으므로 10명이 넘으면 에러 메시지보임
while(num bb) //입력한 count만큼 3번의 시험성적을 입력받음 ------
{
for(i=0;i3;i++)
{
printf(%d번 학생의 시험 #%d : ,num+1,i+1);
scanf(%d,&std[num][i]); //각각의 위치에 맞게 point배열에 저장
}
printf(\n);
num++;
}
printf(*******************************************************************************\n);
printf(** 학번 * 시험#1 * 시험#2 * 시험#3 *합계 *최저점수 *최고점수* 평균점수 **\n);
printf(*******************************************************************************\n);
stdave(std, bb);
stdave2(std, bb);
}
void stdave(int a[10][3], int count)
{
int i, j, min = 100, max = 0, sum = 0;
float ave;
for(i=0; i count; i++) //학생수만큼 for문을 돌고
{
//각 학생마다 최대,최소,평균값을 임의값으로 결정
for(j=0;j3;j++) //각 학생마다 3번의 시험을 돌면서..
{
if(min a[i][j])
min = a[i][j]; //3번의 시험중 가장 낮은 점수를 min에 저장
if(max a[i][j])
max = a[i][j]; //3번의 시험중 가장 높은 점수를 max에 저장
sum += a[i][j];p; //한 학생의 3번의 시험점수를 sum에 누적(평균을 구하기위해)
}
ave= (float)sum / 3;
printf(%8d %8d %11d %10d %6d %6d %10d %10.f\n, i+1, a[i][0], a[i][1], a[i][2], sum, min, max, ave);
printf(\n); //학생의 시험점수와 최소,최대,평균값을 위치에 맞게 출력*/
}
}
void stdave2(int a[10][3], int count)
{
int i, j, min[3]={100,100,100}, max[3]={0,0,0}, sum[3]={0,0,0};
float av1, av2, av3, av4;
for(i=0; i3; i++) //3번의 시험을 검사하기 위해 돌고
{
for(j=0; jcount; j++) //각 시험마다 학생들의 점수를 돌면서
{
if(min[i] a[j][i])
min[i] = a[j][i]; //학생들의 각각의 시험 최소값을 배열에 저장
if(max[i] a[j][i])
max[i] = a[j][i];//학생들의 각각의 시험 최대값을 배열에 저장
sum[i] += a[j][i]; //학생들의 각각의 시험 총점을 배열에 저장
}
av1=(float)sum[0]/count;
av2=(float)sum[1]/count;
av3=(float)sum[2]/count;
av4=(float)(sum[0]+sum[1]+sum[2])/(count*3);
}
printf(---------------------------------------------------------------------\n);
printf( 최하점수 | %5d \t%5d \t%8d \n,min[0],min[1],min[2]);
printf( 최고점수 | %5d \t%5d \t%8d \n,max[0],max[1],max[2]);
printf( 평균점수 | %5.f \t%5.f \t%8.f,av1, av2, av3);
printf(\t\t 산술 평균 값: %6.2f\n, av4); //형식에 맞게 출력
}