#include <stdio.h>
#include <malloc.h>
#include <math.h>
int main()
{
int i, kor, eng, math;
int num;
int *sum;
double std_devi, average;
FILE *input_fp = fopen("file.inp", "r") , *output_fp= fopen("file.out", "w");
if( input_fp == NULL )
{
fprintf(stderr, "can't open %s\n", "file.inp" );
return;
}
if( output_fp == NULL )
{
fprintf(stderr, "can't open %s\n", "file.out" );
return;
}
if( ( sum = (int *)malloc( sizeof(int)*3 )) == NULL )
{
fprintf(stderr, "memory allocation error %s\n", "sum" );
}
fscanf(input_fp, "%d \n",&num);
for(i=0;i<num;i++)
{
fscanf(input_fp,"%d %d %d",&kor,&eng,&math);
*sum=kor+eng+math;
average=(double)kor+eng+math/num;
std_devi=(double)(kor*kor+eng*eng+math*math)/num-average*average;
fprintf(output_fp,"%.1lf \n",average);
fprintf(output_fp,"%.1lf \n",sqrt(std_devi));
}
fclose( input_fp );
fclose( output_fp );
free( sum );
return 0;
}
이 코드에서 국영수 성적 입력해야 돼는데 ... 계속 can't open file.inp만 뜨네 뭔가 빠트렸나?
파일은 잇음??
이거 컴파일 에러 안났어요?
FILE형 구조체를 먼저 선언 안했는데
구조체를 선언안했다는게 아니라 구조체형 변수
FILE *input_fp = fopen("file.inp", "r") , *output_fp= fopen("file.out", "w"); 여기서 콤마 들어가도 되나 모르겟다;;
ㄴ아 해도 되는구나 ㅈㅅ;
ㄴ변수 한번에 여러개 초기화 하는거네요; ㅋ;
컴파일 에러는 안남... 근데 입력할 수있는 상태가 아니고 파일 여는데 무슨 에라가 났는지 계속 NULL로 빠지네
일단 r에서 오류나는지 w에서 오류나는지 fprintf 조금 바꿔서 확인해보세요
근데 초기화할때 저렇게 함수 써버려도 되요?
저렇게쓰면 스택할당 끝나기전에 함수를 부르는데 메모리에 제대로 쓰일 수가 없을텐데 왜 컴파일에러가 안나징
file.out out이라는 확장자는 뭔가요? .txt하면 될듯..(사실 제 수준보다 높은 코드네요;;)
중3 / 함수도 결국 값을 리턴해주면 값이랑 동일하다고 봐요. 재귀적이지도 않으니 괜찮을듯