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

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C语言中输入一串字符,怎样让它按照字母从小到大的顺序排列?相关的知识,希望对你有一定的参考价值。

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);
参考技术A 字符存储形式为ASCLL码
可以把他们看做是一般整数进行排序

冒泡,快速,希尔……都可以!
参考技术B #include <stdio.h>
#include <string.h>
const int MAX = 10000;
int main()

char str[MAX],tempst;
gets(str);
for(int i = 0; i < strlen(str); ++i)
for(int j = i + 1; j< strlen(str); ++j)
if(str[i]>str[j])

tempst = str[i];
str[i] = str[j];
str[j] = tempst;

for(i = 0 ; i < strlen(str); ++i)
printf("%c",str[i]);
printf("\n");
return 0;
本回答被提问者采纳
参考技术C 就用一般排序方法排就是了。
直接 用 < 或 > 比较就是了。。
参考技术D 你可以参照下这个程序,http://zhidao.baidu.com/question/55175134.html

c语言中怎样统计字符串中包含英文字母的个数?

参考技术A

c语言中要统计字符串中包含英文字母的个数可以参考以下内容:

main()

char str[100],*p;

int num[4],i;

p=str;

gets(str);

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

num[i]=0;

for(;*p!='\\0';p++)

if((*p<='z'&&*p>='a')||(*p<='Z'&&*p>='A')) num[0]++;

else if(*p==' ') num[1]++;

else if((*p<='9'&&*p>='0')) num[2]++;

else num[3]++;

printf("%d  %d  %d  %d\\n",num[0],num[1],num[2],num[3]); 

扩展资料:

在写代码的过程中需要注意:

void main()的用法并不是任何标准制定的。 C语言标准语法是int main,任何实现都必须支持int main(void) /* ... */ 和int main(int argc, char* argv[]) /* ... */ 。

类似于a+=a++;或者(i++)+(i++)+(i++)属于未定义行为,并不是说c语言中还未定义这种行为,它早有定论,它的结果取决于编译器实现,不要写这样的代码。

以上是关于C语言中输入一串字符,怎样让它按照字母从小到大的顺序排列?的主要内容,如果未能解决你的问题,请参考以下文章

C语言,将一个字符串中的元音字母复制到另一个字符串,然后按照ASCII码从小到大的顺序输出。

用C语言编一个程序,要求输入一串数字,按照从小到大的顺序输出,怎么编写啊

怎样把一串数字字符串的后四位换成****?

简单的C语言问题 Description 输入一串小些字母(无重复字母),从中取出k个字母,输出组合情况。

请问下C语言如何从一个输入的字符串中取出第一个字母并且输出?

C语言编程题:从键盘输入一串字符,统计其中的数字与字母个数并输出