红联Linux门户
Linux帮助

输入字符串 按asc值大小输出

发布时间:2010-09-29 13:02:29来源:红联作者:emc2001
编写语言 c
#include
#include
char *sort(char *s)
{
int i,j,lenth;
char temp;
lenth=strlen(s);

for(j=0;j for(i=0;i if(*(s+i)>=*(s+i+1))
{
temp=*(s+i);
*(s+i)=*(s+i+1);
*(s+i+1)=temp;
}



return s;
}



int main()
{
char str1[500]={0};


printf("please input some characters:");
gets(str1);

sort(str1);
printf("ASC number small to big:%s",str1);
printf("\n");
}

本题知识点:函数调用 冒泡法排序
小提示:字符是可以相互比较的
附:虽然谭浩强的c中也有冒泡法 但书上的程序是有缺陷的 for(i=0;i在ubuntu下 用gcc编译是会出错的
文章评论

共有 3 条评论

  1. alick 于 2010-09-29 16:41:46发表:

    呵呵,再来个quicksort

  2. emc2001 于 2010-09-29 13:09:48发表:

    能将此题彻底搞懂 那么你对函数的调用以及指针的使用就有了初步的了解

  3. emc2001 于 2010-09-29 13:07:55发表:

    本题要求自编程序 实现输入字符串 将字符串中的字符按ASCII值大小排序 并输出排序结果
    重点是函数调用中参数的传递 这是使用函数调用的难点
    sort(str1);此句实现:将从控制台输入的字符串的首地址传送给char *sort(char *s)
    return s;此句实现:将函数运算结果后得到的字符串的首地址返回给主函数