#include<stdio.h>
#include<stdlib.h>
#include<string.h>
#include<time.h>
typedef struct{
int i;
char str[16];
} d_t;
#define SIZE_D_T 50
d_t *fill()
{
d_t *d = (d_t *)malloc(SIZE_D_T*sizeof(d_t));
d_t *p;
p=d;
srand(time(NULL));
for (int i=0;i<SIZE_D_T;i++)
{
p->i = rand();
sprintf(p->str,"%15d",p->i);
printf("%d %s\n",p->i,p->str);
p++;
}
return d;
}
int compare_dt(const void *a, const void *b)
{
return (*(d_t *)a).i - (*(d_t *)b).i;
}
void print_dt(d_t *d)
{
d_t *p = d;
printf("======================\n");
for (int i=0;i<SIZE_D_T;i++)
{
printf("%d %s\n",p->i,p->str);
p++;
}
}
int main()
{
d_t *d = fill();
qsort(d,SIZE_D_T,sizeof(d_t),compare_dt);
print_dt(d);
return 0;
}