C語言將輸入的字串按首字母順序排列

2021-05-21 21:58:33 字數 3583 閱讀 2988

1樓:凌亂心扉

#include

#include

void sort(char *a);

void print(char *a);

int main()

;printf("原來的序列是:\n");

print(a);

sort(a);

printf("\n排序後的序列是:\n");

print(a);

printf("\n");

return 0;

}void sort(char *a)}}

}void print(char *a)

}執行效果:

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"

2樓:匿名使用者

提供一個吧!效率不是很高,當做拋磚引玉吧

#include

#include

#include

void main()

for (int j=0;j0)

printf("\nafter ordered!\n");

for (j=0;j

system("pause");}

3樓:三號床鋪的四哥

#include

void main()

puts(c);}

4樓:**廣告呵呵

jdgf

jdgf

ieur

duhf

end輸出: dhuf

c語言 要求輸入一串字元,按字母排序輸出。

5樓:請問我帥嗎

#include

#define max 256

int main()

for(int i=0;i考慮效率,所以自就用了bai氣泡排序,du但基本上能夠實zhi現演算法~~dao~

6樓:蘇北小麥

把幾種排序的陣列改為字元陣列就可以了,輸出用%s

7樓:子爵先生

字元也是可以比較大小的,比如a='w',b='z',a與b的關係就是a

c語言問題:輸入五個國家的名稱按字母順序排列輸出。

8樓:匿名使用者

main()

內的**用第二個if中的三個strcpy

//作用就是判斷i和j處的字串是不是按字母順序排的//如果不是就將它們兩個交換一下位置

if(strcmp(cs[j],st)<0)if(p!=i)

//輸出排序後的字串?那就不應該加在這裡//可以在下面這個括號之後另起一個迴圈,輸出puts(cs[i]);}printf("\n");

} 總而言之,這個程式的問題還是有的,還要好好修改一下

9樓:櫻木

main()

//比較

if(p!=i)

puts(cs[i]);}printf("\n"); //輸出容}

c語言中從鍵盤輸入n個字串,將字串按從小到大的順序排列並輸出

10樓:多xdl點事

**如下:

#define n 10 int main() } } for(i = 0; i < n; i ++)  puts(str[i]);}。

執行**:

執行結果:

擴充套件資料

在c語言程式設計中,常常需要對字串比較和排序,經常遇到對字串整體的控制等操作,strcmp 比較str1和str2的大小,而其它的c函式strlen(),字串拷貝函式strcpy()/strncpy(),字串比較函式 strcmp(),字串連線函式strcat()/strncat()等,都可以幫助我們快速方便的對字串操作。

11樓:匿名使用者

1 輸入字串;

2 對字串進行排序;

3 輸出。

排序中需要注意:

1 用strcmp比較字串;

2 用strcpy執行字串的賦值。

**如下:

#define n 50

int main()}}

for(i = 0; i < n; i ++)puts(s[i]);}

12樓:匿名使用者

#include

#include

#include

char a[100][200]; //定義最大100個,每個200個字元的字串陣列

int i,j,n=10;//n為實際字串個數void sort()}}

void main()

printf("\n排序前:\n");

for(i=0;i

puts(a[i]);

sort();

printf("\n排序後:\n");

for(i=0;i

puts(a[i]);}

13樓:new妞寧

你說的n是固定的還是任意指定的 還是不指定任意輸入字元後確定的

其實這很簡單 如果是n固定 直接用陣列就行 如果是不指定的話 會用到malloc和realloc函式 排序用氣泡排序就行了

14樓:匿名使用者

字串? 小到大~~~字母是按那個對應的算?還是隻算數字的?

c語言字串中大小寫字母轉換C語言字串中大小寫字母轉換

就是ascii碼的 來加減,字母的大寫和小自寫的ascii碼的差值是一樣的。小寫的字母ascii碼為 97 a 到 122 z 轉換成大寫字母則ascii減32,變成從65 a 到90 z 每個字母對應一個ascii碼,查ascii碼錶就可以一目瞭然。輸入字母,轉換為int型別,看其值是在什麼範圍,...

c語言輸入字串將大寫換小寫,小寫換大寫

也就是加 減32得出 include int main void return 0 給你寫了個函式,大寫轉小寫,小寫轉大寫,其他字元保持不變 include void reversal char str void main 用陣列或者string型別的變數存放輸入字串 acbsad 然後依次取出一個...

C語言程式實現輸入字串所有字母轉換成下字母,A B,a b,字母Z和小z轉換成A和a,其餘字元不變

scanf s str for i 0 str i null i gets str for i 0 str i i 試試其他沒看出錯誤來 include void main else printf s str 程式設計基礎 輸入一行文字將字母變成其下一個字母 如a變成b,b變成c,z變成a,其他字元...