C语言:将输入的字符串按首字母顺序排列。 C语言对字符串中的字符按照字母顺序和数字顺序重新排列?

C\u8bed\u8a00\uff0c\u4e00\u4e2a\u5b57\u7b26\u4e32\u6309\u5b57\u6bcd\u6392\u5e8f\uff1f\uff1f\uff1f\uff1f\uff1f

\u6392\u5e8f\u7b97\u6cd5\u6709\u95ee\u9898\uff0c\u800c\u4e14\uff0c\u4f60\u6700\u597d\u786e\u5b9a\u4e00\u4e0b\u4f60\u8f93\u5165\u5b57\u7b26\u4e32\u7684\u957f\u5ea6\uff1a
#include#includevoid main(){char c[10];int i;int j;int temp;int length;gets(c);length=strlen(c);//\u4f60\u53ef\u80fd\u8f93\u5165\u4e0d\u523010\u4e2a\u5b57\u7b26\uff0c\u6240\u4ee5\u786e\u5b9a\u603b\u5171\u5b57\u7b26\u6570for(i=0;ic[j+1]){temp = c[j];c[j] = c[j+1];c[j+1] = temp;}puts(c);}

#include
#include
#include
#include
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);
}

#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]);

}

}

运行效果:

扩展资料:

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"



提供一个吧!效率不是很高,当做抛砖引玉吧
#include <stdio.h>
#include <string.h>
#include <process.h>
void main()
{
char re[21][100];
int i=0;
while(i<21&&strcmp(re[i-1],"end")!=0)
{
printf("please input the %d strings\n",i+1);
gets(re[i++]);
}
for (int j=0;j<i-2;j++)
for (int k=j+1;k<i-1;k++)
if (strcmp(re[j],re[k])>0)
{
char temp[100];
strcpy(temp,re[k]);
strcpy(re[k],re[j]);
strcpy(re[j],temp);
}
printf("\nafter ordered!\n");
for (j=0;j<i-1;j++)
{
printf("%s\n",re[j]);
}
system("pause");
}

将输入的字符串按首字母顺序排列函数:
#include<stdio.h>
void main()
{
char c[10];
int i;
int j;
int temp;
gets(c);
for(i = 0;i<9;i++)
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);
}

提供一个吧!效率不是很高,当做抛砖引玉吧
#include <stdio.h>
#include <string.h>
#include <process.h>
void main()
{
char re[21][100];
int i=0;
while(i<21&&strcmp(re[i-1],"end")!=0)
{
printf("please input the %d strings\n",i+1);
gets(re[i++]);
}
for (int j=0;j<i-2;j++)
for (int k=j+1;k<i-1;k++)
if (strcmp(re[j],re[k])>0)
{
char temp[100];
strcpy(temp,re[k]);
strcpy(re[k],re[j]);
strcpy(re[j],temp);
}
printf("\nafter ordered!\n");
for (j=0;j<i-1;j++)
{
printf("%s\n",re[j]);
}
system("pause");
}

jdgf

jdgf
ieur
duhf
end
输出: dhuf

  • C璇█:灏嗚緭鍏ョ殑瀛楃涓叉寜棣栧瓧姣椤哄簭鎺掑垪銆
    绛旓細include<string.h> void sort(char *a[]);void print(char *a[]);int main(){ char *a[] ={"ceo","define","basic","abc","empty"};printf("鍘熸潵鐨勫簭鍒楁槸锛歕n");print(a);sort(a);printf("\n鎺掑簭鍚庣殑搴忓垪鏄細\n");print(a);printf("\n");return 0;} void sort(char *...
  • c璇█:杈撳叆涓琛岃嫳鏂瀛楃涓,鎶姣忎釜鍗曡瘝绗竴涓瀛楁瘝鍙樹负澶у啓,杈撳嚭淇敼鍚庣殑...
    绛旓細include<string.h> include<stdio.h> int main(int argc,char*argv[]){ char str[100+1];int isfirst=1;char ch;int i=0;while((ch=getchar())!=EOF){ if(isalpha(ch)){ if(isfirst==1){ ch=toupper(ch);isfirst=0;} } else { isfirst=1;} str[i++]=ch;} str='\0';...
  • ...鐨勯瀛楁崲鎴愬ぇ鍐欍傜劧鍚庤緭鍑哄師瀛楃涓插拰鎹㈣繃鐨勫瓧绗︿覆
    绛旓細璇风湅濡備笅浠g爜锛歩nclude <stdio.h>#include <string.h>/*绗竴涓瀛楁瘝鐨棣栧瓧鎹㈡垚澶у啓銆傜劧鍚庤緭鍑哄師瀛楃涓插拰鎹㈣繃鐨勫瓧绗︿覆*/int main(){/*鍒濆鍖栧師濮嬪瓧绗︿覆 src*/char *src = "i am lower chars.";/*浠庡師濮嬪瓧绗︿覆澶嶅埗涓涓柊鐨勫瓧绗︿覆 dest*/char *dest = new char[strlen(src)+1];memset(...
  • c璇█绋嬪簭 涓枃鎸夐瀛楁瘝鎺掑簭
    绛旓細char str[MAX_NUM][MAX_NAME]; printf("璇杈撳叆瀛︾敓鎬绘暟:"); scanf("%d",&n); while(i<=n) { printf("璇疯緭鍏ョ%d涓鐢熷鍚:",i); scanf("%s",str[i++-1]); } printf("鎺掑簭鍓嶇殑瀛︾敓鍚嶅崟濡備笅:\n"); display_name(str,n); sort_bubble(str,n); printf("鎺掑簭鍚庣殑瀛︾敓鍚嶅崟濡備笅:\n"); ...
  • 鍏充簬C璇█杈撳叆瀛楃涓鍚灏嗛瀛楁瘝鍙樺ぇ鍐檦~~
    绛旓細a鈥欙紝瀵瑰簲鐨凙SCII鐮佷负97锛岋紙ASCII鐮佺殑鐧剧~~http://baike.baidu.com/view/15482.htm锛夛紝鐩稿綋浜巆har鍨嬬殑鈥榓鈥欏彲浠ュ綋鍋氾紙鍙槸褰撳仛锛宑har鍜宨nt杩樻槸鏈夊尯鍒級int鍨嬬殑97锛岃屸楢鈥欏搴旂殑ASCII鐮佷负55锛岃閫氳繃鈥檃鈥樿緭鍑衡楢'锛屽彲浠ヨ繖鏍穚rintf("%c", 'a' - 32);涓嶇煡閬撹繖鏍疯娓呮涓嶃
  • 鐢C璇█灏4涓鐢熺殑濮撳悕鎸夋嫾闊棣栧瓧姣浠庡ぇ鍒板皬鎺掑簭骞舵樉绀.
    绛旓細濮撳悕鍒嗗紑锛屾垚涓や釜瀛楃涓层傚垎鍒帓搴忥紝褰㈡垚鏂鐨勫瓧绗︿覆锛岀劧鍚庤緭鍑恒傚叾浠栧鐢熶竴鏍风殑鏂规硶銆俰nclude <stdio.h>#include <string.h>#define STU_NAME_MAX_LEN 20char stu_name[][STU_NAME_MAX_LEN] = { "iker cassilas", "luis suarez", "cristiano ronaldo", "lionl messi"};void ma...
  • C璇█瀛楃涓查瀛楁瘝澶у皬鍐欒浆鎹
    绛旓細if(a[0]>='A' && a[0]<='Z')灏卞ソ浜嗭紵--- 杩欎釜闂鏄繖閲屽紩璧风殑锛歠or(i=0; i<10 ;i++)鍥犱负瀛椾覆榛樿鏄湪\0灏辩粓姝簡锛屼絾鏄綘闈炲緱鎶10涓叏閮藉畨%c杈撳嚭锛岀粨鏋滃綋鐒朵細姣旇緝璇″紓銆傛敼鎴愶細for(i=0;i<10 && a[i]!='\0';i++) //(鎴栬卋[i])灏卞彲浠ヤ簡銆
  • C璇█ 鏁扮粍 杈撳叆涓琛屾枃瀛,瑕佹眰灏嗘瘡涓崟璇鐨勯瀛楁瘝鐢卞皬鍐欐敼涓哄ぇ鍐,鍗曡瘝...
    绛旓細include"stdio.h"void main(){int i;char str[100];printf("璇杈撳叆涓涓瀛楃涓:");gets(str);if(str[0]>=97&&str[0]<=122)str[0]=str[0]-32;for(i=1;str[i]!='\0';i++){if(str[i-1]==' '&&str[i]>=97&&str[i]<=122)str[i]=str[i]-32;}puts(str);} 甯屾湜鎴...
  • c璇█:杈撳叆涓涓瀛楃涓,灏嗚瀛楃涓茬殑浠庡彸鍒板乏鐨勭涓涓崟璇嶈祴鍊肩粰鍙﹀涓涓...
    绛旓細include <stdio.h>int main(void){ char str[300],w[21],i,j,k; printf("Input a string...\nstr="); gets(str); for(j=0;str[j];j++); for(j--;str[j]>'z' || str[j]<'a' && str[j]>'Z' || str[j]<'A';j--); for(i=j;str[i]>='A...
  • c璇█:(鐢ㄦ暟缁勪笌鎸囬拡娉,涓嶄娇鐢╯trupr鍑芥暟)浠绘剰杈撳叆涓涓瀛楃涓,灏嗗叾鍏...
    绛旓細include<stdio.h>int count = 0; void reverse() { char ch = getchar(); if (ch == '\n') { return; } else { reverse(); if (ch>= '0'&&ch<= '9') { ++count; } if (ch>= 'a'&&ch<= 'z') { ch = ch - 'a' + 'A'; } putchar(ch); } } int main()...
  • 扩展阅读:怎么键盘录入字符串 ... c语言中字符串的输入 ... 字符串存入数组c语言 ... c++中如何输入字符串 ... c语言请输入一个字符 ... c语言字符型怎么输入 ... c语言原样输出字符串 ... c语言输入n个字符串 ... c语言怎么任意输入字符串 ...

    本站交流只代表网友个人观点,与本站立场无关
    欢迎反馈与建议,请联系电邮
    2024© 车视网