求解一道C语言题~~~急~~~

在主函数中输入若干个(n>=10)字符串,存放在指针数组char*strings[]中,在子函数sort(char*strings[],intn)中用选择排序法对其排序,... 在主函数中输入若干个(n>=10)字符串,存放在指针数组char *strings[]中,在子函数sort(char *strings[],
int n)中用选择排序法对其排序,并将最长串在主函数中输出。
展开
 我来答
IT孤鹜
2013-05-20 · TA获得超过4198个赞
知道大有可为答主
回答量:3960
采纳率:71%
帮助的人:3599万
展开全部

#include<stdio.h>

#include<string.h>

#include<malloc.h>

int sort(char* strings[],int n)

{

  int i,j,k,max,maxlen;

  char temp[50];

  for(i=0;i<n-1;i++)

  {

      k=i;

   for(j=i+1;j<n;j++)

    if(strcmp(strings[j],strings[k])>0)

    k=j;

       if(k!=j)

    {

     strcpy(temp,strings[k]);

     strcpy(strings[k],strings[i]);

     strcpy(strings[i],temp);

    }

  }

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

   if(i==0) {max=0;maxlen=strlen(strings[0]);}

   else

   {

    if(maxlen<strlen(strings[i]))

     max=i;

   }

      return max;

}

void main()

{

   char* str[100];

   int i,n,p;

   scanf("%d",&n);

   getchar();

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

   {   str[i]=(char*)malloc(sizeof(char)*50);

    gets(str[i]);

   }

   p=sort(str,n);

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

    puts(str[i]);

   printf("最长字符串为:");

   puts(str[p]);

}

追问
看懂了,谢谢~~~
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式