输入n个字符串,将这n个字符串从小到大排序后输出。 为什么我是错的
#include<stdio.h>#include<string.h>voidsort(charname[][100],intn);voidprint(charname[...
#include<stdio.h>
#include<string.h>
void sort (char name[][100],int n);
void print(char name[][100],int n);
int main()
{
int n,i;
char name[100][100];
scanf("%d",&n);
for(i=0;i<n;i++)
scanf("%s",name[i]);
sort(name,n);
print(name,n);
return 0;
}
void sort(char name[][100],int n)
{
char *temp;
int i,j,k;
for(i=0;i<n;i++)
{
k=i;
for(j=i+1;j<n;j++)
{
if(strcmp(name[k],name[j])>0)
k=j;
}
if(k!=i)
{
strcpy(temp,name[i]);
strcpy(name[i],name[k]);
strcpy(name[k],temp);
}
}
}
void print(char name[][100],int n)
{
int i;
for(i=0;i<n;i++)
printf("%s\n",name[i]);
} 展开
#include<string.h>
void sort (char name[][100],int n);
void print(char name[][100],int n);
int main()
{
int n,i;
char name[100][100];
scanf("%d",&n);
for(i=0;i<n;i++)
scanf("%s",name[i]);
sort(name,n);
print(name,n);
return 0;
}
void sort(char name[][100],int n)
{
char *temp;
int i,j,k;
for(i=0;i<n;i++)
{
k=i;
for(j=i+1;j<n;j++)
{
if(strcmp(name[k],name[j])>0)
k=j;
}
if(k!=i)
{
strcpy(temp,name[i]);
strcpy(name[i],name[k]);
strcpy(name[k],temp);
}
}
}
void print(char name[][100],int n)
{
int i;
for(i=0;i<n;i++)
printf("%s\n",name[i]);
} 展开
2个回答
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询