제목 : 11.2.1. 예제. 파일 처리를 사용한 합계/평균/최대값/최소값
글번호:
|
|
236
|
작성자:
|
|
레드플러스
|
작성일:
|
|
2005/11/25 오후 4:30:11
|
조회수:
|
|
6607
|
/*
문제. C:\Data.txt에 아래와 같이 데이터를
입력한 후,
32 35 24 38 45
위 데이터에 대해서 합계/평균/최대값/최소값을
아래와 같이 화면에 출력하시오.
합계 : ???
평균 : ???
최대값 : 45
최소값 : 24
*/
#include <stdio.h>
void main(void){
//Init
int i = 0; //반복
int intSum = 0; //합계
int intCount = 0; //개수
int intAvg = 0; //평균
int intMax = 0; //최대값
int intMin = 0; //최소값
int intNum[5] = {0,}; //입력 데이터
FILE *objFile; //파일 객체
if((objFile = fopen("c:\\Data.txt"
, "r")) == NULL){
puts("파일 열기 실패...");
}
else{
//Input
fscanf(objFile, "%d %d %d %d %d"
, &intNum[0], &intNum[1]
, &intNum[2], &intNum[3]
, &intNum[4]);
//Process
intMax = 0;
intMin = 100;
for(i = 0;i < 5;i++){
intSum += intNum[i]; //합계
intCount++; //개수
if(intMax < intNum[i]){
intMax = intNum[i]; //최대값
}
if(intMin > intNum[i]){
intMin = intNum[i]; //최소값
}
}
intAvg = intSum / intCount; //평균
//Output
printf("합계 : %d\n", intSum);
printf("개수 : %d\n", intCount);
printf("평균 : %d\n", intAvg);
printf("최대 : %d\n", intMax);
printf("최소 : %d\n", intMin);
//Dispose
fclose(objFile);
}
}