struct number
{
char old[10];
char new[10];
int n;
};
int main()
{
struct number a[5];
int n[5]={123,2,33,1006,12};
char tmp[10];
int size=5,i,len=0,j,temp;
for(i=0;i<size;i++)
{
sprintf(a[i].old,"%d\0",n[i]);
if(strlen(a[i].old)>len)
len=strlen(a[i].old);
}
for(i=0;i<size;i++)
{
sprintf(a[i].new,"%s\0",a[i].old);
for(j=0;j<len-strlen(a[i].old);j++)
{
strcat(a[i].new,"0\0");
}
a[i].n=atoi(a[i].new);
}
for(i=0;i<size;i++)
{
;// printf("%s\n",a[i].new);
}
for(i=0;i<size-1;i++)
{
for(j=i;j<size;j++)
{
if(a[i].n<a[j].n)
{
temp=a[j].n;
a[j].n=a[i].n;
a[i].n=temp;
strcpy(tmp,a[j].old);
strcpy(a[j].old,a[i].old);
strcpy(a[i].old,tmp);
}
}
}
for(i=0;i<size;i++)
{
printf("%s",a[i].old);
}
}