当前位置:首页 » 编程语言 » c语言按字母的顺序进行排序
扩展阅读
webinf下怎么引入js 2023-08-31 21:54:13
堡垒机怎么打开web 2023-08-31 21:54:11

c语言按字母的顺序进行排序

发布时间: 2022-06-24 09:15:29

① 用c语言怎么把一个字符串按字母表顺序排序

用ASSIC码 本质上还是数值进行排序
自然就可以使用数值类型的排序算法进行排序了
排序算法有很多标准的模板 随便一本算法书都可以找的到
要注意的是 你用的排序算法 参数应该是 char型 而不是其他类型 赶快去实践吧

② 如何用C语言给字母排序

这个其实就是排序,因为char类型跟int类型一样的也是数字,可以比较大小的,然后输出就可以了。

③ C语言对字符串中的字符按照字母顺序和数字顺序重新排列

#include<algorithm>
#include<string.h>
#include<stdio.h>
#include<string>
int main(){
char s[100],C[100],c[100],n[100],rC=0,rc=0,rn=0;
scanf("%s",s);
int lenth=strlen(s);
std::sort(s,s+lenth);
for(int i=0;i<lenth;++i){
if(s[i]>='0' and s[i]<='9')
n[rn++]=s[i];
else if(s[i]>='a' and s[i]<='z')
c[rc++]=s[i];
else if(s[i]>='A' and s[i]<='Z')
C[rC++]=s[i];
}
n[rn++]='\0';
c[rc++]='\0';
C[rC++]='\0';
printf("%s%s%s",C,c,n);
}

④ C语言 字母排列

1、该排序算法是选择排序算法

2、在i位置为大写字母时进行第二层遍历

3、如果判断不为大写字母,不需要j++之后continue,否则会跳过一个字母

修改后代码如下,修改位置注释给出:

//1072字母排列
#include<stdio.h>
#include<string.h>


intmain()
{
chara[65];
inti,j,b,min;

gets(a);//读取一行内容
b=strlen(a);

//冒泡排序法,i为前面的字符,j为后一个字符
for(i=0;i<b-1;i++)
{
if(a[i]<'A'||(a[i]>'Z')||a[i]=='')continue;/////judge
for(j=i+1;j<b;j++)
{
if(a[j]<'A'||(a[j]>'Z')||a[j]=='')
{
//j++;//delete
continue;
}
if(a[i]>a[j])//从小到大排序,小的排左边,大的排右边
{
min=a[j];
a[j]=a[i];
a[i]=min;
}
}
}

for(i=0;i<b;i++)
printf("%c",a[i]);
return0;
}

⑤ C语言对一个字符串中字母的排序问题

#include<stdio.h>
#include<string.h>
intmain()
{
charstr[256],ch;
inti,j;
scanf("%s",str);
for(i=0;i<strlen(str);++i){
for(j=i+1;j<strlen(str);++j){
if(str[i]>str[j]){
ch=str[i],str[i]=str[j],str[j]=c;
}
}
}
printf("%s ",str);
return0;
}

⑥ C语言如何设计一个对输入的字母进行排序的C语言程序

字母是ASCII表示的,你可以直接比大小A~Z对应65~90,a~z是对应97~122,写程序时你先判断是大小还是小写,再统一转换为大小或小写,然后直接比较就行了

⑦ C语言中输入一串字符,怎样让它按照字母从小到大的顺序排列

这可以把字符串输入到字符数组中,然后采用排序的方法来实现:
(需要包含<string.h>头文件)
char t,s[200];
int i,i;
gets(s);
for(i=0;i<strlen(s)-1;i++)
for(j=0;j<strlen(s)-1-i;j++)
if(s[j]>s[j+1])
{t=s[j]; s[j]=s[j+1]; s[j+1]=t;}
puts(s);

⑧ C语言:将输入的字符串按首字母顺序排列。

#include<stdio.h>

#include<string.h>

void sort(char *a[]);

void print(char *a[]);

int main()

{

char *a[] ={"ceo","define","basic","abc","empty"};

printf("原来的序列是: ");

print(a);

sort(a);

printf(" 排序后的序列是: ");

print(a);

printf(" ");

return 0;

}

void sort(char *a[])

{

int i,j;

char *temp;

for(i=0;i<4;i++)//注意是i<4

{

for(j=0;j<4;j++)//注意是j<4,因为下面要+1和后面的那个字符串比较

{

if(strcmp(a[j],a[j+1])>0)//字符串比较:>0表示前面的字符串比后面的大则交换

{

temp=a[j];

a[j]=a[j+1];

a[j+1]=temp;

}

}

}

}

void print(char *a[])

{

int i;

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

{

printf("%s ",a[i]);

}

}

运行效果:

(8)c语言按字母的顺序进行排序扩展阅读:

return 0的用法:

return的作用是结束正在运行的函数,并返回函数值。return后面可以跟一个常量,变量,或是表达式。

函数的定义一般是这样的,例如:

inta(inti)//第一个int是函数的返回值的类型,也就是return后面跟的值的类型,a是函数的名称,括号里的是传递给函数的参数,int是参数的类型,i是参数的名字

...//省略函数体内容

returnb;//b必须与函数头的返回值一致(此处为int型)

简单函数举例:

intaddOne(intb)

returnb+1;

该函数的作用是取得一个数,将这个数加上1,再将结果返回

调用时这样:

intresult=addOne(2);//此时result的值为3

函数括号里的参数也可以为变量或能算出值的表达式

以上就是一个基本的函数,一般的函数都有返回值,也就是return后面跟的值,返回值可以为各种数据类型,如:int,float,double,char,a[](数组),*a(指针),结构或类(c++)

但不是所有函数都有返回值,如果某个函数无返回值,那么返回值的位置则为“void”关键字,此时函数体中无返回值,即无return的值。但是函数中也可出现return,即一个空的return句子,其作用是使函数立即结束,如voidprint()//括号中为空表示无传递参数、

printf("a");

printf("b");

return;//函数执行到此处结束

printf("c");

}//该函数只执行到return语句处,即屏幕上输出的为"ab"

⑨ C语言,一个字符串按字母排序

排序算法有问题,而且,你最好确定一下你输入字符串的长度:

#include<stdio.h>
#include<string.h>
voidmain()
{
charc[10];
inti;
intj;
inttemp;
intlength;
gets(c);
length=strlen(c);//你可能输入不到10个字符,所以确定总共字符数
for(i=0;i<length-1;i++)//for(i=0;i<9;i++)
for(j=0;j<length-1-i;j++)//这儿问题最大for(j=0;j<9;j++)
if(c[j]>c[j+1])
{
temp=c[j];
c[j]=c[j+1];
c[j+1]=temp;
}
puts(c);
}

⑩ C语言字母排序问题

#include<stdio.h>
#include<string.h>/*string包含gets,puts,strlen函数*/

void main()
{
char n[500];/*定义具有五百个字符的数组n,可以根据字符串的长度适当调整*/
int i,j,x,temp;
printf("输入n个字符串:");/*屏幕输出"输入n个字符串:"*/
gets(n);/*键盘敲入数组n*/
x=strlen(n);/*将n数组的字符长度赋给x*/
for(i=0;i<=x-1-1;i++)/*冒泡法排序:进行数组的ascii码排序,共需进行x-1-1组排序,
0到x-1为数组n的长度x,故只需进行x-1-1组排序*/
for(j=0;j<x-1-i;j++)/*第j组排序要排序为j<x-1-i次*/
{
if(n[j]>n[j+1])/*如果这个数比下面一个数大,则这两个数互换*/
{
temp=n[j];
n[j]=n[j+1];
n[j+1]=temp;
}
}
puts(n);/*输出排序后的字符数组n*/
}
解释够详细了吧,我在vc++6.0运行了下,可以。由于我也是学c语言不久,所以可以共同学习嘛。。。。呵呵。。。