구조체선언하고 동적할당주고난담에 성적을 비교해서 성적순으로 출력하고싶은데 만약 20개중 5개만 할당되었다면
포문의 조건문을 어떻게 줘야 하죠..??
typedef struct
{
 int student_num;
 char name[10];
 int kor;
 int eng;
 int math;
 int total;
 int rank;
} STU;

STU *stu
stu = (STU*)malloc(sizeof(STU) * 20);

void display_rank(void)

 int i, j;    
 FILE *fp1, *fp2;   //파일형 변수 선언
 while(1)   
 {
  fp1=fopen(\"input.txt\",\"r\");  //파일을 읽기전용으로 연다
  if(fp1==NULL)
  {    
   printf(\"해당 파일이 없습니다.\\n\");
   return 1;
  }
  else    
   break;      
 }
 
 for(i=0; i<20; i++)   //i는 0부터 10보다 작은동안 1씩 증가하며 반복
  fscanf(fp1,\"%d %s %f %f %f\", &stu[i].student_num, stu[i].name, &stu[i].kor, &stu[i].eng, &stu[i].math);
 fclose(fp1);    //파일을 각각의 변수에 저장 하고 파일을 닫는다
 
 for(i=0; i<a; i++)  
  stu[i].total = stu[i].kor + stu[i].eng + stu[i].math; //각 과목의 총합을 더하여 total에 저장
 
 for(i=0; i<a; i++)
 {
  stu[i].rank=1;   //rank에 초기값 1을 저장
  for(j=0; j<a; j++)
  {
   if(stu[i].total < stu[j].total)  //총점으로 등수비교하는거
    stu[i].rank++;    //s[i].rank +1을 한다
  }
 }
 fp2=fopen(\"rank.txt\",\"w\");  //파일을 쓰기전용으로 연다
 printf(\"┌───────────【 순위별성적표 】───────────┐\\n\");
 fprintf(fp2,\"┌───────────【 순위별성적표 】───────────┐\\n\");
 printf(\"│     이 름      국어      영어      수학     합계       등수 │\\n\");
 fprintf(fp2,\"│     이 름      국어      영어      수학     합계       등수 │\\n\");
 //성적표 항목 을 콘솔및 파일에 출력
 for(i=1; i<=a; i++)  //i는 1부터 10보다 작거나 같은동안 1씩 증가하며 반복
 {
  for(j=0; j<a; j++)  //j는 0부터 10보다 작은동안 1씩 증가하며 반복
  {
   if(stu[j].rank==i) //각각의 등수가 i과 같으면 (즉, 1등부터 차례로 출력)
   {
    printf(\"├───────────────────────────────┤\\n\");
    fprintf(fp2,\"├───────────────────────────────┤\\n\");
    printf(\"│%d%10s%10.1f%10.1f%10.1f%10.1f%10d  │\\n\", stu[j].student_num,stu[j].name, stu[j].kor, stu[j].eng, stu[j].math, stu[j].total, stu[j].rank);
    fprintf(fp2, \"│%d%10s%10.1f%10.1f%10.1f%10.1f%10d  │\\n\", stu[j].student_num,stu[j].name, stu[j].kor, stu[j].eng, stu[j].math, stu[j].total, stu[j].rank);
   } //해당 사람의 성적을 콘솔및 파일에 출력
  }
 }
 printf(\"└───────────────────────────────┘\\n\");
 fprintf(fp2,\"└───────────────────────────────┘\\n\");
 fclose(fp2); //하단 라인을 출력하고 줄내림

}