>>105
まぁ次からは言語をちゃんと指定してくださいねっと。
とりあえずstdlib.hは使わずに普通に書いてみた。

sortは一番頭の悪いソートなんで授業で,もっと賢いソートを習ってたら書き換えるのを薦める。

#include<stdio.h>
#include<string.h>
struct student {char name[40];};
void sort(struct student*p[],int n){
    int i,j;
    for(i=0;i<n;++i)
    for(j=i;j<n;++j){
        if(strcmp(i[p]->name,j[p]->name)>0){
            struct student*c=i[p];i[p]=j[p];j[p]=c;
        }
    }
}
enum{N = 100};
int main(void){ 
    struct student *a[N];
    struct student b[N];
    int i,j;
    for(i=0;i<N;++i){
        if(!fgets(i[b].name,sizeof(i[b].name),stdin))break;
        i[a] = &i[b];
    }
    sort(a,i);
    for(j=0;j<i;++j)fputs(j[a]->name,stdout);
    return 0;
}