全教育培训行业第三方平台平台就业机构
扫码试听
扫码试听
Q:2638333071
【热门话题】
首页 > 就业前景 > Web前端 > > C语言编写程序把字符数组中的字母按由小到大 的顺序排列并输出
行业动态 行业问答 课程问答 零基础学习 就业前景 技术干货

C语言编写程序把字符数组中的字母按由小到大 的顺序排列并输出

发布时间:4 周 前 栏目:Web前端 浏览:

1、C语言编写程序把字符数组中的字母按由小到大 的顺序排列并输出

#include

#include

#include

intcmp(constvoid*a,constvoid*b){

return*(char*)a-*(char*)b;//这里记住一定要用排序的元素类型的指针做强制装换并且再取指针指向的值。

}

intmain(){

chars[]="kjferu21398dyfkaqpoia";

qsort(s,strlen(s),1,cmp);

printf("%s",s);

return0;

}

C语言编写程序把字符数组中的字母按由小到大 的顺序排列并输出

2、Java用compareTo对String数组进行排序

private static void sort_string(String [] str){

int i,j;

String temp;

for(i=0;ii;j--){

if(str[j-1].compareTo(str[j])i;j--){

if(a[j]>a[j-1])

{

temp = a[j];

a[j] = a[j-1];

a[j-1] = temp;

}

}

}

}

请输入一串数字,用","隔开:

13,98,28,34,5,7,3

string:13 28 3 34 5 7 98

int:98 34 28 13 7 5 3

这个是结果

C语言编写程序把字符数组中的字母按由小到大 的顺序排列并输出

3、C++对字符数组排序

与其它排序类似,字符数组排序也是根据一定算法,如冒泡法,将各个项值进行比较,并通过赋值交换位置即可。

对于字符数组,赋值和比较均与一般对象或变量不同。

1字符数组比较:

需要调用strcmp函数。

intstrcmp(char*s1,char*s2);

按照ascii码比较,当s1和s2相等时返回0,如果s1大则返回1,否则返回-1。

2字符数组赋值。

需要调用strcpy函数。

char*strcpy(char*dst,char*src);

将src中的字符串复制到dst中。

注意:要使用以上两个函数,需要引用头文件cstring。

以下是一个排序的参考代码:

#include

#include

usingnamespacestd;

intmain()

{

charbuf[100][100];//100个字符数组组成的二维数组。

chart[100];

inti,j;

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

cin>>buf[i];//输入值。

for(i=0;i<99;i++)//执行排序。选择法。

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

{

if(strcmp(buf[i],buf[j])<0)//比较

{

strcpy(t,buf[i]);

strcpy(buf[i],buf[j]);

strcpy(buf[j],t);//这三句为交换。

}

}

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

cout<

return0;

}

4、字符串数组排序(C语言)(qsort库函数)

声明一个字符串指针数组存放每个字符串的首地址,调用库函数qusort按题目要求对字符串指针排序,不移动源字符串。关键是要设计一个好的比较函数,精巧地解决“按长度、长度相等时按大小”排序的问题。举例代码如下:

//#include"stdafx.h"//Ifthevc++6.0,withthisline.

#include"stdio.h"

#include"string.h"

#include"stdlib.h"

#defineN10

//字符串个数

#defineLN21

//限制字符串长度为20

intmycmp(constvoid*a,constvoid*b){//比较函数

char*pa=*(char**)a,*pb=*(char**)b;

intx=int(strlen(pa)-strlen(pb));//依长度比较

returnx?x:strcmp(pa,pb);//长度相等时依大小比较

}

intmain(void){

inti=0,j=0;

char*f[N],w[LN*N];//声明指针数组f和字符串总空间

printf("Input%dstring(s)(length<=%d)...\

",N,LN);

while(i

if(scanf("%[1234567890]",f[i]=w+j)>0&&strlen(f[i])

i++,j+=LN;

elseprintf("Error,redo:Requiredlengthlessthan%d:",LN);

}

qsort(f,N,sizeof(char*),mycmp);//调用库函数对字符串指针排序

for(i=0;i

",f[i++]));//输出...

return0;

}

5、java中怎么对一串字符进行排序!

比如说 list= “to good too no string and now” 这样的一段字符 怎么样才能然所有单词按照 26个字母的顺序进行排序 就是把每个单词的第一个字符进行排序 然后输出的是整个单词 .

上一篇:没有了
技术干货
零基础学习
行业多年深耕,从这报名,学费立减800
  • 岳同学180****1241刚刚成功领取
  • 胡同学134****6431刚刚成功领取
  • 李同学150****6122刚刚成功领取
  • 张同学136****2231刚刚成功领取
  • 孙同学178****5521刚刚成功领取
  • 齐同学156****7788刚刚成功领取
猜你喜欢
查看更多
相关推荐
查看更多
现在学习,我的薪资能达到多少?
立即报名

联系我们:

Q:2638333071

鄂ICP备2023015464号