사용자에게 배열의 값을 입력받는다.
배열의 값을 입력받은 프로그램은 입력받은 배열의 합과 평균을
구해 그 값과 배열의 내용을 출력한다.
#include <stdio.h>
#define ROW 3 //행의 수
#define COL 3 //열의 수
//서브 함수의 프로토타입 선언
void printArray(int table[ROW][COL]);
int Sum(int table[ROW][COL]);
float Avg(int SumVal);
void main()
{
int i, j;
int nTable[ROW][COL]; //배열선언
int nSumVal; //합계를 저장할 변수
for(i=0; i<ROW; i++) //각행에 대하여
{
for(j=0; j<COL; j++) //모든열을 순서대로 검색
{
printf("(%d, %d) 원소의 값 >> ", i, j);
scanf("%d", &nTable[i][j]); //숫자를 입력받아 배열에 저장
}
}
nSumVal = Sum(nTable); //원소의 합을 구하여 저장
printArray(nTable);
printf("전체 원소의 합 = %d\n", nSumVal);
printf("전체 원소의 평균 = %.2f\n", Avg(nSumVal));
}
void printArray(int table[ROW][COL])
{
int i, j;
printf("%d X %d 배열의 내용\n", ROW, COL);
for(i=0; i<ROW; i++)
{
for(j=0; j<COL; j++)
printf("%4d", table[i][j]); //배열의 내용 출력
putchar('\n'); //행이 바뀌면 한줄 띄움
}
}
int Sum(int table[ROW][COL])
{
int i, j;
int nSumResult=0; //합계를 저장하는 변수
for(i=0; i<ROW; i++)
for(j=0; j<COL; j++)
nSumResult += table[i][j];//변수에 모든 원소의 값을 더함
return nSumResult;//합계를 리턴
}
float Avg(int SumVal)
{
return ((float)SumVal/(ROW*COL));//평균을 구하여 리
}
댓글