구조체 인데요..잘 안나와서 질문이요..
커피우유
#include stdio.h
#define SWAP(x,y,t) ((t)=(x),(x)=(y),(y)=(t))
//구조체 정의
typedef struct {
char name;
int value;
} s;
int find_max(s *p[5]);
void main(){
//크기가 5인 구조체 배열 book,주소값을 가지는 크기가 5인 구조체 배열 p 선언
s book[5];
s *p[5];
int i,avg;
//이름과 가격 입력, 각각의 book배열의 주소값을 p배열에 저장
for(i=0;i5;i++){
printf(input(book name): );
scanf(%s,&book[i].name);
printf(input(book value): );
scanf(%d,&book[i].value);
p[i]=&book[i];
}
//함수 호출
avg=find_max(p);
//평균값출력
printf(책의 평균값은 %d 입니다.,avg);
}
int find_max(s *p[5]){
int temp,sum=0,avg,i,j,k,l;
char ctemp;
//값이 비싼 순으로 정렬
for(i=0;i5;i++)
for(j=i+1;j5;j++)
if(p[i]-valuep[j]-value){
SWAP(p[i]-value,p[j]-value,temp);
SWAP(p[i]-name,p[j]-name,ctemp);
}
//값이 비싼 순으로 출력
for(k=0;k5;k++)
printf(이름:%c\t가격:%d\n,p[k]-name,p[k]-value);
//평균값 계산
for(l=0;l5;l++)
sum=sum+p[l]-value;
avg=sum/5;
//평균값 리턴
return avg;
}책 이름 을 입력하고 책가격을 입력해서..5번동안 반복해서
높은 가격순으로 출력을 하는겁니다..하지만..가격은 출력이 되는데 이름은? 되면서 출력을 못하더군요..왜그런지 몰라서 질문 을 합니다..
-
고독
이름은 문자열이지요. char배열로 만들어서, scanf(\%s\