c语言编译按字母排序
A. 如何用c语言给字母排序
这个其实就是排序,因为char类型跟int类型一样的也是数字,可以比较大小的,然后输出就可以了。
B. 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. 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]);
}
}
运行效果:
(3)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"
D. 用c语言设计一个“字母排序显示”程序,键盘输入三个字母,运行后输入的三字母按先大后小顺序输出。谢谢
#include<stdio.h>
intmain()
{
chara,b,c,temp;
scanf("%c%c%c",&a,&b,&c);
if(a<b)
{
temp=a;
a=b;
b=temp;
}
if(a<c)
{
temp=a;
a=c;
c=temp;
}
if(b<c)
{
temp=b;
b=c;
c=temp;
}
printf("%c%c%c ",a,b,c);
return0;
}
E. 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语言不久,所以可以共同学习嘛。。。。呵呵。。。
F. C语言 输入多个字符串并按最后一个字母排序
VC编译,是这个意思吗,这里输入5个字符串,按尾字母进行排序,输出排序后的字符串
#include<stdio.h>
#include<string.h>
#defineN5//输入字符串的数量
voidmain()
{
charnum[N][30],order[N],temp;
inti,j,pos_temp,pos_order[N];
for(i=0;i<N;i++)
{
scanf("%s",num[i]);
order[i]=num[i][strlen(num[i])-1];
pos_order[i]=i;
}
for(i=0;i<N;i++)
{
for(j=0;j<N;j++)
{
if(strcmp(&order[i],&order[j])<0)
{
temp=order[i];
order[i]=order[j];
order[j]=temp;
pos_temp=pos_order[i];
pos_order[i]=pos_order[j];
pos_order[j]=pos_temp;
}
}
}
for(i=0;i<N;i++)printf("%s",num[pos_order[i]]);
}
G. 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);
}
H. C语言字母排序
#include<stdio.h>
#include<string.h>
#define N 3
int main()
{
char a[N][20],b[20];
int i,j;
for(i=0;i<N;i++)
gets(a[i]);
for(i=0;i<N;i++) //<-------------------------------冒泡法排序
for(j=0;j<N-i;j++)
{
if(strcmp(a[j-1],a[j])>0) //<--------------------------------。
{
strcpy(b,a[j-1]); //<--------------------------------b是一维数组
strcpy(a[j-1],a[j]);
strcpy(a[j],b);
}
}
printf("After sorting:\n");
for(i=0;i<N;i++)
printf("%s\n",a[i]);
printf("\n");
return 0;
}
I. C语言怎么对英文字母排序
根本就是.现代的英文字母就是拉丁字母
古代没有拼音,就使用反切,就是用两个认识会念的字,取第一个的声母,取第二个的韵母,拼合起来就行了.
古代,中国的回族兄弟不学汉字,学习阿拉伯语,但他们用阿拉伯文的字母来拼写口语(汉语),所以这是中国最早的拼音。
元朝,蒙古统治者用改变了的藏文的字母来拼写汉语等语言,叫八思巴字。虽然不是专门拼写汉语的,但是,也算汉语拼音的一种吧。
明朝,西方传教士用拉丁字母拼写汉语,是中国最早的拉丁字拼音。
清末明初,出现了用简单的古字表现汉语语音的拼音方式。民国年间,政府制定了“注音字母”,就是这个系统的集中表现。现在台湾依然使用。但是,同时也出现了拉丁字的拼音运动,而且,跟左翼人士的政治运动结合很密切。
共和国成立后,立即由政府制定了“汉语拼音方案”,就是现在使用的这一套方案。联合国也承认的。
**《现代汉语拼音方案》的出笼 **
1949年中华人民共和国成立后,就马上着手研制拼音方案。1949年10月成立了民间团体“中国文字改革协会”,协会设立“拼音方案研究委员会”,讨论拼音方案采用什么字母的问题。
在1951年,毛泽东就指出:“文字必须改革,必须走世界文字共同的拼音方向”。但是,究竟采用什么形式的拼音方案,他本人也是经过了反复斟酌的。毛泽东到苏联访问时,他曾经问斯大林,中国的文字改革应当怎么办;斯大林说,中国是一个大国,可以有自己的字母。毛泽东回到北京之后,指示中国文字改革研究委员会制订民族形式的拼音方案。同时,上海的新文字研究会停止推广北方拉丁化新文字,等待新方案的产生。
1955年10月15日,全国文字改革会议在北京举行。叶籁士在发言中说:“从1952年到1954年这个期间,中国文字改革研究委员会主要进行汉字笔画式拼音方案的研究工作,经过了三年的摸索,曾经拟定几种草案,都放在《汉语拼音方案草案初稿》(汉字笔画式)里头”。这次会议上印发给代表们六种拼音方案的草案,有四种是汉字笔画式的,一种是拉丁字母式的,一种是斯拉夫字母式的。会议之后,当时的中国文字改革委员会主任吴玉章向毛泽东报告,他说,民族形式方案搞了三年,难以得到大家都满意的设计,不如采用拉丁字母。毛泽东同意采用拉丁字母,并在中央开会通过。
在中国制定拼音方案的时候,苏联已经不再搞拉丁化,改为搞斯拉夫化,把所有的拉丁化民族文字一律改成了斯拉夫字母。蒙古人民共和国也把蒙古字母改成了斯拉夫字母。50年代,中国向苏联一边倒,有人主张采用斯拉夫字母,跟苏联在文字上结盟。苏联派到中国的语言学家谢尔久琴柯也提出使用斯拉夫字母的建议。据说,苏联的一位副总理来中国访问时,曾经向陈毅副总理说,希望中苏两国都采用相同的字母。陈毅副总理回答说,中国文化必须跟东亚和东南亚联系,东亚和东南亚都习惯用拉丁字母。这样,中国才没有采用斯拉夫字母。如果我国当时采用了斯拉夫字母,我们今天使用计算机将会遇到更多的困难。中国政府当时在字母选择上的决策,是非常正确的。
1956年1月20日,毛泽东在知识分子问题会议上,发表了赞成拉丁字母的讲话。他说,“吴玉章同志的发言讲的很好。关于文字改革的意见,我很赞成。在将来采用拉丁字母,你们赞成不赞成呀?我看,在广大群众里头,问题不大;在知识分子里头,有些问题。中国怎么能用外国字母呢?但是,看起来还是采用这种外国字母比较好。吴玉章同志在这方面说得很有理由。因为这种字母很少,只有二十几个,向一面写,简单明了。我们汉字在这方面实在比不上。比不上就比不上,不要以为汉字那么好。有几位教授跟我说,汉字是‘世界万国’最好的一种文字,改革不得。假使拉丁字母是中国人发明的,大概就没有问题了。问题就出在外国人发明,中国人学习。但是,外国人发明中国人学习的事情是早已有之的。例如阿拉伯数字,我们不是久已通用了吗?拉丁字母出在罗马那个地方,为世界大多数国家所采用。我们用一下,是否就大有卖国的嫌疑呢?我看不见得。凡是外国好的东西,对我们有用的东西,我们就是要学,就是要统统拿过来,并且加以消化,变成自己的东西。我们中国历史上,汉朝就是这么做的,唐朝也是这么做的。汉朝和唐朝,都是我国历史上很有名很强盛的朝代。他们不怕吸收外国的东西,有好的东西就欢迎。只要态度和方法正确,学习外国的好东西,对自己是大有好处的。”(转引自郑林曦《论语说文》)。
此期间,群众中也创制了不少的文字方案,寄到中国文字改革委员会。根据统计资料,从1950年到1955年8月31日全国文字改革工作会议为止,寄来的方案有655个,从1955年8月31日到1958年2月汉语拼音方案公布为止,寄来的方案有1000多个,从1958年2月到1980年文化大革命结束为止,寄来的方案有1667个。群众设计的各种各样的文字方案总共有3300多个。这种创制造文字方案的积极性,在中国文化的发展历史上是空前的。这充分说明了语言规划的社会性。
1955年2月,中国文字改革委员会设立了“拼音方案委员会”,开始设计汉语拼音方案,提出了《汉语拼音方案(草案)》。1956年2月12日,中国文字改革委员会发表《汉语拼音方案(草案)》,公开征求意见。这个草案共有31个字母,其中有5个新字母(无点的i;长脚的n;带尾的z,c,s),以便实现“一字一音”,不用变读和双字母。草案发表后在全国范围内引起热烈的讨论,甚至海外华侨和留学生也提出了自己的意见。
1955年10月,国务院成立“汉语拼音方案审定委员会”,经过一年的工作,于1957年10月提出《修正草案》,11月1日由国务院全体会议第60次会议作为新的《汉语拼音方案(草案)》通过,提请全国人民代表大会审议,1958年2月11日,第一届全国人民代表大会第五次会议正式批准《汉语拼音方案》。1958年秋季开始,《汉语拼音方案》作为小学生必修的课程进入全国小学的课堂。《汉语拼音方案》是拼写规范化普通话的一套拼音字母和拼写方式,是中华人民共和国的法定拼音方案。这个方案吸取了以往各种拉丁字母式拼音方案,特别是国语罗马字和拉丁化新文字拼音方案的优点,它是我国三百多年拼音字母运动的结晶,是六十年来中国人民创造拼音方案经验的总结,比任何历史上一个拉丁字母式的拼音方案都更加完善和成熟。
《汉语拼音方案》有如下特点:
①只用国际通用的26个字母,不增加新字母;
②尽量不用附加符号(只用了两个附加符号);
③尽量不用变读;
④采用y,w和隔音符号“'”来隔音;
⑤采用四个双字母zh, ch, sh, ng;
⑥采用四个声调符号来表示阴平、阳平、上声、去声四个调类;
⑦采用拉丁字母通用的字母表顺序,并确定了汉语拼音字母的名称。
周恩来在《当前文字改革的任务》的报告中说:“现在公布的汉语拼音方案,是在过去的直音、反切以及各种拼音方案的基础上发展出来的。从采用拉丁字母来说,它的历史渊源远则可以一直追溯到350多年以前,近则可以说是总结了60年来我国人民创制汉语拼音方案的经验。这个方案,比起历史上存在过的以及目前还在沿用的各种拉丁字母的拼音方案来,确实更加完善。”
《汉语拼音方案》自制订以来,得到迅速的推广和应用。主要有如下方面。
①用于给汉字注音:从1958年秋季开始,全国小学的语文课本采用汉语拼音给汉字注音,接着,中学教科书、字典、词典以及通俗读物、扫盲课本也采用汉语拼音注音。《人民日报》等用汉语拼音字母给难字注音。1958年10月,中央工商行政管理局和中国文字改革委员会联合发出通知,要求各种商标图样和商品包装上加注汉语拼音字母。邮电局名、铁路站名、气象站名、城市街道名也都使用汉语拼音标注。1982年6月19日国家标准局发布了国家标准《中文书刊名称汉语拼写法》,规定国内出版的中文书刊在封面、或首页、或封底、或版权页上加注汉语拼音书名、刊名。
②用于教学普通话:《汉语拼音方案》公布后,陆续出版了利用汉语拼音编写的普通话教材、读物、字表、字典、词典,促进了普通话的推广和普及。在对外汉语教学中,《汉语拼音方案》已经成为外国人学习汉语进行全面训练的不可缺少的工具。
③用于字典、词典的注音、排序,书刊的索引。75卷的《中国大网络全书》采用汉语拼音排序,正文的每一个条目都注上了汉语拼音。
④作为我国少数民族创制和改革文字的共同基础。我国已经有壮族、苗族、侗族、哈尼族、僳僳族、佤族、黎族、纳西族、土族等少数民族采用汉语拼音字母相一致的字母形式。
⑤用于不便使用或不能使用汉字的领域:《汉语拼音方案》为盲文的点字和聋哑人的手语的制定提供了依据。汉语拼音还可用于手旗通讯、灯光通信中,用同汉语拼音字母对应的手旗讯号或灯光符号来传递信息。在电子计算机输入汉字方面,拼音输入法是一种最为普及的输入方法。
1977年,联合国地名标准化会议决定采用《汉语拼音方案》作为拼写中国地名的国际标准。1978年9月,国务院转发了《关于改用汉语拼音方案作为我国人名地名罗马字母拼写法的统一规范的报告》。1982年8月1日,国际标准化组织(ISO)文献工作技术委员会决议采用汉语拼音作为世界文献工作中拼写中国专有词语的国际标准,标准号:ISO7098-1982。《汉语拼音方案》已经从中国标准发展成为国际标准。
汉语拼音目前还是拼写汉字的辅助工具.
J. 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);