본문 바로가기
C.E/C, C++

배열의 합과 평균 구하고 출력하기

by 책읽는구리 2009. 1. 15.
반응형


사용자에게 배열의 값을 입력받는다.
배열의 값을 입력받은 프로그램은 입력받은 배열의 합과 평균을
구해 그 값과 배열의 내용을 출력한다.

#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));//평균을 구하여 리
}

반응형

댓글