正文

给字符数组动态分配内存完成字符串的排序2006-01-11 17:43:00

【评论】 【打印】 【字体: 】 本文链接:http://blog.pfan.cn/accp123/9536.html

分享到:

////////给字符数组动态分配内存,完成字符串的排序


#include<stdio.h>
#include<string.h>
#include<stdlib.h>
int Accept(char *[]);    //接受
void Sort(char *[],int); //排序
void Print(char *[],int); //打印
void main()
{
 char *str[5];
 int n;
 n=Accept(str);     //接受句子的数目,返回一个字符串数量
 Sort(str,n);
 Print(str,n);
}

int Accept(char * name[])     
{
 int m,i;
 printf("input nums(1 to 5) of string:");
 scanf("%d",&m);
 for(i=0;i<m;i++)
 {
  name[i]=(char *)malloc(20*sizeof(char));
 }
 for(i=0;i<m;i++)
 {
  printf("input %d string:",i+1);
  scanf("%s",name[i]);
 }
 return m;
}

void Sort(char *name[],int m)
{
 int i,j,k;
 char temp[20];
 for(i=1;i<m;i++)
 {
  for(j=0;j<i;j++)
   if(strcmp(name[j],name[i])<0)
   {
    strcpy(temp,name[i]);
    for(k=i;k>j;k--)
    {
     strcpy(name[k],name[k-1]);
    }
    strcpy(name[j],temp);
    
   }
 }

}

void Print(char *name[],int m)
{
 int i;
 printf("\n\nthe sort strings:\n");
 for(i=0;i<m;i++)
 {
  printf("the %d string:",i+1);
  printf("%s\n",name[i]);
 }

}

阅读(5193) | 评论(0)


版权声明:编程爱好者网站为此博客服务提供商,如本文牵涉到版权问题,编程爱好者网站不承担相关责任,如有版权问题请直接与本文作者联系解决。谢谢!

评论

暂无评论
您需要登录后才能评论,请 登录 或者 注册