FAFUOJ1160
第一次写博客不太美观。
这题涉及到大整数,int 是没办法放下的,所以我们要用个二维字符数组来储存数。
实质是字符的排序。
FAFUOJ1160题目
// An highlighted block
#include <stdio.h>
#include <string.h>
int main() {
char a[1000][1000],t[1000];
int n,i,j,m,b[100];
scanf("%d ", &n);
for(i=0;i< n;i++)
gets( a[i] );
for(i=0;i< n;i++)
b[i]=strlen( a[i] );
for( i=n-1; i>0; i--)
{
for( j=0; j<i; j++)
{
if( b[j] > b[j+1]){
strcpy(t,a[j+1]);
strcpy(a[j+1],a[j]);
strcpy(a[j],t);
m=b[j+1];
b[j+1]=b[j];
b[j]=m;
}
if (b[j]==b[j+1]){
if(strcmp(a[j+1],a[j]) <0){
strcpy(t,a[j]);
strcpy(a[j],a[j+1]);
strcpy(a[j+1],t);
m=b[j+1];
b[j+1]=b[j];
b[j]=m;
}
}
}
}
for(i=0; i<n; i++)
puts(a[i] );
return 0;
}
```