1
私はn個の文字列を入力し、並べ替えが長さとascii値によって行われる昇順でソートする必要があります。弦5 オマール リンゴ バナナ アリの 何 猫文字列のアスキーと長さの並べ替え
出力がなければなりません: アリ猫オマールリンゴバナナ
enter code here:
#include<stdio.h>
#include<string.h>
int main()
{
int n,i,l,m,j;
char str[20][20],temp[20],temp2[20][20];
printf("enter no of strings\n");
scanf("%d",&n);
// string is given as input
for(i=0; i<n; i++)
{
fflush(stdin);
scanf("%s",str[i]);
l=strlen(str[i]);
printf("len is %d\n",l);
}
//sorting on the basis of length
for(i=0; i<=n; i++)
for(j=i+1; j<=n; j++)
{
if(strlen(str[i])>strlen(str[j]))
{
strcpy(temp,str[i]);
strcpy(str[i],str[j]);
strcpy(str[j],temp);
}
}
//sorting on the basis of ascii values
for(i=0; i<n; i++)
{
if(l==m)// spcl condition
{
printf("\ncheck",l,m);
for(j=0; j<strlen(str[i]); j++)
{
if(strcmp(str[j][i],str[j][++i])>0)
{
strcpy(temp2[20],str[i]);
strcpy(str[i],str[++i]);
strcpy(str[++i],temp2[20]);
}
}
}
else// default condition
{
strcpy(temp2[20],str[i]);
strcpy(str[i],str[++i]);
strcpy(str[++i],temp2[20]);
}
}
//display each string
printf("the strings are\n");
for(i=0; i<n; i++)
{
printf("%s",str[i]);
printf("\n");
}
return 0;
}
サンプルテストケースがない ....助けてください