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

作者&投稿:卢马 (若有异议请与网页底部的电邮联系)
C语言字母排序问题~

#include
#include/*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运行了下,可以。

排序算法有问题,而且,你最好确定一下你输入字符串的长度:
#include#includevoid main(){char c[10];int i;int j;int temp;int length;gets(c);length=strlen(c);//你可能输入不到10个字符,所以确定总共字符数for(i=0;ic[j+1]){temp = c[j];c[j] = c[j+1];c[j+1] = temp;}puts(c);}

#include <stdio.h>

int main()

{ char c[6]= {'c', 'a', 't', 'd', 'o', 'g'},t;

  int i,j;

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

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

      if(c[j]>c[j+1])

      { t=c[j];

        c[j]=c[j+1];

        c[j+1]=t;

      }

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

    printf("%c ", c[i]);

  printf("
");

  return 0;

}



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


C语言:编写程序,把字符数组中的字母按由小到大 的顺序排列并输出_百 ...
include <stdio.h>#include <stdlib.h>#include <string.h>int cmp(const void *a, const void *b) { return *(char*)a - *(char*)b; \/\/ 这里记住一定要用排序的元素类型的指针做强制装换并且再取指针指向的值。}int main() { char s[] = "kjferu21398dyfkaqpoia"; qs...

用C语言,输入一字母串,将其从小到大排列(如果输入字母为大写,要将其...
const void*b){return (((char *)a)[0])-(((char *)b)[0]);}int main(){int len, i;char str[100];scanf("%s", str);len = strlen(str);for (i=0;i<len;i++) {if ((str[i] >= 'A') && (str[i] <= 'Z'))str[i] += 32; ...

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语言给字母排序?
int main(){ char c[6]= {'c', 'a', 't', 'd', 'o', 'g'},t;int i,j;for (i=0; i<5; i++)for (j=0; j<5-i; j++)if(c[j]>c[j+1]){ t=c[j];c[j]=c[j+1];c[j+1]=t;} for (i=0; i<6; i++)printf("%c ", c[i]);printf("\\n");re...

C语言字母排序问题
C语言字母排序问题 50 输入n个字符串,将他们按字母由小到大的顺序排列并输出我只学过基础的C,指针什么的不会,还有请附带详细点的解释 谢谢 此棋不通 | 浏览3335 次 |举报 我有更好的答案推荐于2017-12-15 09:06:50 最佳答案 #include<stdio.h>#include<string.h>\/*string包含gets,puts,strlen函数*\/...

c语言程序 中文按首字母排序
return 0;} 说明:1:采用的是冒泡排序,用快速排序当然快些,但我忘了2:已验证通过,结果正确。3:随意输入人数和姓名,只要数组不越界就没有问题!4:两个函数:排序和显示5:给分+好评 本回答由提问者推荐 举报| 答案纠错 | 评论 41 4 shensljx 采纳率:58% 擅长: 暂未定制 为您推荐: C语言名字排序 C语言...

C语言 字母排列
\/\/1072字母排列#include<stdio.h>#include<string.h>int main(){ char a[65]; int i,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...

求助C语言字母不分大小写排序
int getLesOrder(char les)\/\/获取大或小字母在26个字母中顺序(第几个字母){ if(les>='a' && les<='z') return les-'a'+1;if(les>='A' && les<='Z') return les-'A'+1;return -1;} void fun(char *q){ int i,j,n;char temp;n=strlen(q);printf("%d\\n",n);for(...

在数据结构中用c语言怎么编写用单链表将26个字母排序的程序?
r=L;while(r!=NULL){ printf("%c\\t",r->num);r=r->next;} printf("\\n");} void Bubble_sort(list *L){ list *r,*s;char temp;for(r=L;r;r=r->next){ for(s=r;s;s=s->next){ if(r->num>s->num){ temp=r->num;r->num=s->num;s->num=temp;} } } } ...

用c语言设计一个“字母排序显示”程序,键盘输入三个字母,运行后输入的...
include<stdio.h>int main(){char a,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\\n",a,b,c);return 0;} ...

梁子湖区15065025627: c语言用冒泡法选择法从键盘任意输入十个小写字母,按从大到小的顺序排序输出. -
尾莉大安: 1 输入; 2 排序; 3 输出. 参考代码如下: #include <stdio.h> int main() {int a[10];//用来存数据int i,j,temp; for(i = 0; i < 10; i ++)//输入10个数.scanf("%d",&a[i]);for (j = 0; j < 9; j++)//标准冒泡法排序for (i = 0; i < 9- j; i++){if(a[i] > a[i + ...

梁子湖区15065025627: 字母数组排序 c语言 -
尾莉大安: #include <stdio.h> #include <string.h> main() { int i,j; char name[5][20],t[20]; for(i=0;i<5;i++) scanf("%s",&name[i]); for(j=0;j<5;j++) {for(i=0;i<5;i++)if(strcmp(name[j],name[i])<0){strcpy(t,name[i]);strcpy(name[i],name[j]);strcpy(name[j],t);} } ...

梁子湖区15065025627: 怎么用C给字母排序```详细答案```急急``
尾莉大安: #include "stdio.h" #include "string.h" void main() { char c[80],t; int i,j,len=0; printf("请输入一英文字符串:"); scanf("%s",c); /*求字串长度*/ for(i=0;i<80;i++) { if(c[i]=='\0') break; else len++; } len=strlen(c); /*求字符串长度*/ /*选择排序...

梁子湖区15065025627: C语言:编写程序,把字符数组中的字母按由小到大 的顺序排列并输出 -
尾莉大安: 1 2 3 4 5 6 7 8 9 10 11 12 13 14#include <stdio.h> #include <stdlib.h> #include <string.h>intcmp(constvoid*a, constvoid*b) {return*(char*)a - *(char*)b; // 这里记住2113一定要5261用排序的元素类型的指4102针做强制装1653换并且再取回指针...

梁子湖区15065025627: C语言编程 字符的排序的代码比如输入badc输出abcd -
尾莉大安: 这不是算法 这是一个自定义的结构体模板 Binnode a; Binnode c;

梁子湖区15065025627: 用c语言从键盘输入一串字符字母,按从小到大的顺序输出 -
尾莉大安: 一个排序就搞定了啊!如果不想自己写排序,可以用qsort.1234567891011121314151617181920 #include <stdio.h>#include <stdlib.h>#include <string.h>#define LINELEN 1024 intcmp(constvoid*p1, constvoid*p2) { return*((char*)p1) - *((char*)...

梁子湖区15065025627: c语言 如何在文件中读取一串字母,再将它们排序 -
尾莉大安: #include <iostream>#include <fstream>#include <string>#include <algorithm> using namespace std;#define SIZE 100 int main() { fstream file; file.open("input.txt"); string s[SIZE]; string temp; int count = 0; while(!file.eof()) { file >> s[count++]; } sort...

梁子湖区15065025627: C语言句子字母排序后行输出 -
尾莉大安: #include <iostream> using namespace std; void main() { char ch[100]; cin.getline(ch,100); cout<<ch<<endl; int dex=0; while (ch[dex]!='\0') { if ((ch[dex]>'Z'||ch[dex]<'A')&&(ch[dex]>'z'||ch[dex]<'a')&&ch[dex]!=' ') { cout<<"ERROR at: "<<ch+dex<<endl...

梁子湖区15065025627: 用C语言编写一个将若干单词按字母排序的程序 请各位高手帮忙 -
尾莉大安: //---------------------------------------------------------------------------#include <stdio.h>#include <stdlib.h>#include <ctype.h>#define FILENAME "c:\\a.txt" /*存放单词的文本文件,可以在此修改路径*/ char *readln(FILE *fp) /*从文件fp中读取一行(一个)单词...

梁子湖区15065025627: C语言编程 字符的排序的代码比如输入badc输出abcd -
尾莉大安: 这不是算法 这是一个自定义的结构体模板Binnode<int> a;Binnode<char> c;

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网