首页 > 试题广场 >

在主函数中输入10个等长的字符串。用另一函数对它们排序。然后

[问答题]

在主函数中输入10个等长的字符串。用另一函数对它们排序。然后在主函数输

出这10个已排好序的字符串。要求用指针方法处理。

推荐

1.

#include<stdio.h>

#include<string.h>

int main()

{void sort(char s[][6]);

int i;

char str[10][6];

printf("input 10 strings:\n');

for(i=0;i<10;i++)

scanf("%s",str[i]);

sort(str);

printf("Now,the sequence is:\n”);

for(i=0;i<10;i++)

printf("%s\n",str[i]);

return 0;

}


void sort(char s[10][6])

{int i,j:

char*p,temp[10];

p=temp:

for(i=0;i<9;i++)

for(j=0;j<9-i;j++)

if(strcmp(s[j],s[j+1])>0)

{strcpy(p,s[j]);

strcpy(s[j],s[+j+1]);

strcpy(s[j+1],p);

}

}

2.

#include<stdio.h>

#include<string.h>

int main()

{void sort(char(*p)[6]);

int i;

char str[10][6];

char(*p)[6];

printf("input10 strings:\n');

for(i=0;i<10;i++)

scanf("%s",str[i]);

p=str;

sort(p);

printf("Now,the sequence is:\n'");

for(i=0;i<10;i++)

printf("%s\n",str[i]):

return 0;

}


void sort(char(*s)[6])

{int i,j;

char temp[6],*t=temp;

for(i=0;i<9;i++)

for(j=0;j<9-i;j++)

if(strcmp(s[j].s[j+1])>0)

{strcpy(t,s[j]);

strcpy(s[j],s[+j+1):

strcpy(s[j+1],t;

}

}


发表于 2018-03-25 10:32:32 回复(0)