불필요한 소스는 지우고 필요한 부분만 간단하게 적어보았습니다.

현재 제 소스는  입력하면 그냥 입력된 순서대로 출력 되는 상황입니다.

하는 방법을 잘 몰라 질문 드립니다. 오류가 떠서 멘붕중입니다.ㅠㅠ

#include <stdio.h>
#include <string.h>
struct profile{
 int id;
 char *name[20];
};
int main(void)
{
 int n,i;
 struct profile a[10];
 
 printf("인원수 : ");
 scanf("%d",&n);

 for(i=0;i<n;i++)
 {
  scanf("%d%s",&a[i].id,a[i].name);
 }
 printf("\n");
 


 for(i=0;i<n;i++)
 {
  printf("%d %s\n",a[i].id,a[i].name);
 }
 return 0;
}

----------------------------------------------------------------------------------------------------------------------------------------------------------------------------

첫번째 문제는 일단 번호(아무거나)와 이름을 받고 출력을 하는데 이름의 가나다 순에 따라서 출력을 해야됩니다.

123 홍xx

456 김xx

789 박xx <-이렇게 입력 받으면

 

456 김xx

789 박xx

123 홍xx <-이렇게 출력 되야 되는데 temp를 어떻게 써야될지 잘모르겠습니다.ㅠㅠ 

==================================================================================================

#include <stdio.h>
struct profile{
 char *name[20];
 int grade;
};
int main(void)
{
 int n,i;
 struct profile a[100];

 printf("학생수 : ");
 scanf("%d",&n);

 for(i=0;i<n;i++)
 {
  printf("이름:");
  scanf("%s",&a[i].name);
  printf("점수:");
  scanf("%d",&a[i].grade);
 }
 for(i=0;i<n;i++)
 {
  printf("%s %d\n",a[i].name,a[i].grade);
 }

return 0;

}

두번째 문제는 이름 점수를 입력받으면 출력될때 석차를 같이 출력해야됩니다.

김xx 89

홍xx 78

박xx 93 <-이렇게 입력 받으면

김xx 89 2

홍xx 78 3

박xx 93 1 <-이렇게 출력되면 됩니다.