출처 : 반크_세계유산 고인돌
참고풀이]
//Dev-C++ 5.11로 작업함.
#include <stdio.h>
#include <stdlib.h> //exit(), atoi()
#include <string.h> //strlen()
int main(void)
{
FILE *fp1;
char file1[100];
char StrLine[255];
int i,j;//반복변수
int c,n;//정수의 개수, 전체 자료 개수 변수
int Sum;//정수의 합 변수
int chk;//파일의 끝, 정수 여부 파악변수
//파일을 읽기 모드로 연다.
if ((fp1 = fopen("numbers.txt", "r")) == NULL)
{
fprintf(stderr, "원본 파일 %s을 열 수 없습니다.\n", file1);
exit(1);
}
//fp1에서 한 라인씩 읽어서 자료의 개수를 확인함
n=0;
while (chk=fgets(StrLine,sizeof(StrLine),fp1) != NULL)
++n;
fclose(fp1);
fp1 = fopen("numbers.txt", "r");
//정수의 개수, 합계, 평균을 구하여 출력한다.
c=0;Sum=0;
for(i=0;i<n;i++)
{
fgets(StrLine,sizeof(StrLine),fp1);
for(chk=1,j=0;j<strlen(StrLine)-1;j++)//'\n'을 빼준다
if(StrLine[j] >= '0' && StrLine[j] <= '9');
else
{
chk=0; break;
}
if(chk)
{
Sum+=atoi(StrLine);
c++;
}
}
//결과출력
printf("정수들의 개수 : %d\n",c);
printf("정수들의 합계 : %d\n",Sum);
printf("정수들의 평균 : %.2lf\n",(double)Sum/(double)c);
fclose(fp1);
return 0;
}
참고풀이 결과]
읽어온 파일]
대한민국의 아름다운 영토, 독도의 가을
'프로그램 > C언어 1000제' 카테고리의 다른 글
C언어 112제] C언어 콘서트 CHAPTER 12 Programming 4 두파일을 비교하기 p489 (0) | 2022.01.25 |
---|---|
C언어 111제] C언어 콘서트 CHAPTER 12 Programming 3 라인의 개수 구하기 p488 (0) | 2022.01.24 |
C언어 109제] C언어 콘서트 CHAPTER 12 Programming 1 파일의 내용 읽어서 화면에 출력하기 p488 (0) | 2022.01.21 |
C언어 108제] C언어 콘서트 CHAPTER 12 p469 도전문제 특수문자 제거 (0) | 2022.01.19 |
C언어 107제] C언어 콘서트 CHAPTER 11 Programming 7 열거형 사용하기 p456 (0) | 2022.01.19 |
댓글