c语言英语单词按词典顺序排序时结果出错,是哪里写错了?

2025-04-15 05:54:34
推荐回答(1个)
回答1:

#include 
#include 
#include 

int main() //主函数 
{
int i,j,m,k;
char* a[40];
char temp[10]={"abcdefghi"};
srand(time(NULL));

for(j=0;j<40;j++)
{
a[j]=(char*)malloc(sizeof(char)*10);
m=4+rand()%(10-4);
for(i=0;i {
temp[i]='a'+rand()%26;
}
temp[i]='\0';
strcpy(a[j],temp);
printf("%s\n",a[j]);
}
for(i=0;i<39;i++)
{
for(j=i;j<40;j++)
{
if(strcmp(a[i],a[j])>0)
{
strcpy(temp,a[i]);
strcpy(a[i],a[j]);
strcpy(a[j],temp);
}
}
}
printf("这40个单词按照字典排序输出为:\n");
for(i=0;i<40;i++)
{
printf("%s\n",a[i]);
}
}