성적을 입력받아 평균과 석차를 출력하는 프로그램입니다.
샹1큼해
문제 :
세 명의 학생 이름과 국어, 영어, 수학 점수를 차례대로 입력 받아 총점과 평균, 석차를 출력하는 프로그램을 작성하시오.
동일한 문제를배열만 사용해서는 소스를 작성해보았는데요,
이번에는 포인터를 사용해서 하라는데 도대체 모르겠습니다ㅠ_ㅠ
배열로만 해도 되는 것을 왜굳이 포인터를 사용해서 풀으라는 것인지..ㅠㅠㅠㅠㅠ
질문 내용 :
배열만 사용해서 했던 소스를 포인터를 어떻게든 넣어보려고 고치다가
결국 에러만 나고 안되네요ㅠ_ㅠ
exe파일 실행하는 과정에서 에러가 발생합니다ㅠㅠ#includestdio.h
void main()
{
int i,j,rank1;
char *name[4];
int sum[4];
double ave[4];
int kor[4],eng[4],math[4];
int rank[4];
for(i=0;i3;i++)
{
printf(이름 : );
scanf(%s,&name[i]);
printf(국어 : );
scanf(%d,&kor[i]);
printf(영어 : );
scanf(%d,&eng[i]);
printf(수학 : );
scanf(%d,&math[i]);
printf(\n);
sum[i]=kor[i]+eng[i]+math[i];
ave[i]=(double) sum[i]/3;
}
for(i=0;i3;i++)
{
rank1=1;
for(j=0;j3;j++)
{
if(i!=j && sum[i]sum[j])
rank1++;
}
rank[i]=rank1;
}
printf(===========================\n);
printf(이름 총점 평균 석차\n);
for(i=0;i3;i++)
{
printf(%s %d %.2lf %d\n,&name[i],sum[i],ave[i],rank[i]);
}
printf(===========================\n);
}
-
히나
char *name[4];
여기에는 4명의 이름을 기억시키는 것이 안 되고, 포인터 4개를 기억시킬 수 있습니다.
char name[4][이름의최대길이];
이렇게 선언해야 됩니다. -
기쁨해
포인터를 사용하시다 에러난 소스를 올리신게 아니신가 보네용.^^;
-
영빈이
bcc5.5 에서는 잘 되는데요.