c语言字典顺序函数 c字符串字典序排序

C语言题:将一组字符串按字典顺序输出。(通过函数调用完成)

将一组字符串按字典顺序输出的源代码如下:

10年积累的成都网站建设、成都网站设计经验,可以快速应对客户对网站的新想法和需求。提供各种问题对应的解决方案。让选择我们的客户得到更好、更有力的网络服务。我虽然不认识你,你也不认识我。但先建设网站后付款的网站建设流程,更有泗县免费网站建设让你可以放心的选择与我们合作。

#include stdio.h

int main ()

{

char name[40] ; //声明一个叫name的储存空间,数组的元素数目是40

printf("what is your name ?\n");//转化说明字符/n换行

scanf("%s,name");//输入一个字符串,使用了%s的转化修饰符,表示输入字符串

printf("hello,%s.\n",name);//输出字符串

return 0;

}

扩展资料

1、两个字符串,如果两个字符串相等,则返回0;若str1大于str2(对于大于的理解,是指从两个字符串的第一个字符开始比较,若两个字符相同,则继续比较,若发现两个字符不相等。

2、对于将数字转换为字符串,c标准中并没有定义。c标准中没有定义的原因我觉得是数字转成字符串可以使用sprintf格式化输出函数来完成。

C语言:设计一个函数,其功能是对数组name中指向的字符串按字典顺序排序

#includestdio.h

#includestring.h

void main()

{

void sort(char *s[],int n);

static char *name[5]={"basic","fortran","cobol","pascal","c"};

int i;

sort (name,5);

printf("新排序字符串:\n");

for (i=0;i5;i++)

puts(name[i]);

}

void sort(char *s[],int n){

char *t;

int i,j,k;

for (i=0;in-1;i++){

k=i;

for (j=i+1;jn;j++)

if (strcmp(s[k],s[j])0) k=j;

if (k!=i)

t=s[i],s[i]=s[k],s[k]=t;

}

}

c语言中如何通过函数按字典顺序排列输入的十个字符串

如果使用的是冒泡排序,那么和整数排序唯一的不同就是这个部分:

if(a[j]a[j+1])

swap(a[j],a[j+1]);

那么在字符串排序的时候,需要用到一个库函数叫strcmp(char a[],char b[]);

这个函数在cstring库中[或者c语言中在string.h库中]

这个函数的用法就是输入字符串a,b,判断a,b的字典序大小.

若a的字典序小返回负值

若a的字典序和b相同返回0

若a的字典序大于b的字典序返回正数

然后你将上面冒泡的部分改一下的话就是:

if(strcmp(a[j],a[j+1])0)

swap(a[j],a[j+1]);

这样的话就可以实现冒泡排序了.

如果你使用的是系统快排的话,你可以用string,也可以定义一个结构体

struct Node{

char ch[1000];

}s[12];

bool cmp(const Node A,const Node B){

return strcmp(A.ch,B.ch)0;

}

int main(){

...

sort(s+1,s+10+1,cmp);

...

}

这样的话也是可以实现的.


当前文章:c语言字典顺序函数 c字符串字典序排序
链接URL:http://ybzwz.com/article/ddgsios.html