내부변수
은송이
질문 제목 : #include stdio.h
#include stdlib.h
#define maxclass 100
#define maxstudent 1000
int main()
{
int score[maxclass][maxstudent];
int no_class;
int no_student[maxclass];
float ave[maxclass];
float var[maxclass];
void read_score(int *, int [][maxstudent], int *);
void compute_stat(int *, int[][maxstudent], int *, float *, float []);
void print_result(int *, int *, float *, float *);
read_score(&no_class, score, &no_student);
compute_stat(&no_class, score, &no_student, &ave, &var);
print_result(&no_class, &no_student, &ave, &var);
system(pause);
return 0;
}
void read_score(int *no_class, int score[][maxstudent], int *no_st)
{
int i, j;
printf(분반 수를 입력하시오 \n);
scanf(%d, no_class);
for(i=0; i*no_class; i++){
printf(%d 분반의 학생 수를 입력하시오.\n, i);
scanf(%d, no_st);
printf(%d 명의 학생의 성적을 입력하시오\n, no_st);
for(j=0; j*no_st; i++)scanf(%d, &score[i][j]);
}
}
void compute_stat(int *no_class, int score[][maxstudent], int *no_student, float *ave, float *var)
{
int i, j;
float sum;
for(i=0; i*no_class; i++){
for(sum=0.0, j=0; j*no_student; j++) sum+= score[i][j];
ave[i]=sum/no_student[i];
}
for(i=0; i*no_class; i++){
for(sum=0.0, j=0; j*no_student; j++)
sum+=(score[i][j]-*ave)*(score[i][j]-*ave);
}
}
void print_result(int *no_class, int *no_student, float *ave, float *var)
{
int i, j;
printf( 분반 학생수 평균 분산 \n);
for(i=0; i*no_class; i++)
printf( %3d %3d %6.2f %6.2f\n, i+1, &no_student, &ave, &var);
}
질문 내용 : 포인터 내부변수를 이용해서 성적처리하는건데요 실행하면 오류는 안뜨는데 이상하게 실행이되네요
이것저것해봐도 잘안되네요 좀부탁드릴게요 아마도 포인터 부분에 문제가 있긴한거같은데..ㅎㅎㅎㅎ
부탁드려요고수님들