您好,登錄后才能下訂單哦!
這篇文章將為大家詳細講解有關C語言中怎么實現字符串排序,文章內容質量較高,因此小編分享給大家做個參考,希望大家閱讀完這篇文章后對相關知識有一定的了解。
給定有限個字符串,將其按照大小順序排列。此時的大小順序簡單來說我們可以先認為是ASCLL碼的大小順序。由此我們只需要比較字符串的ASCLL碼的大小即可。
1、輸入10個字符串;
2、任選一種排序算法對字符串排序,比較時需要使用strcmp, 復制時需要使用strcpy。
3、輸出排序后的結果。
字符串比較使用strcmp無法優化, 但每次將字符串整體復制,交換值,效率偏低,使用字符指針數組存儲每個字符串的地址,排序時交換指針性能更好。
#include<stdio.h>
#include <string.h>
//微信公眾號:C語言與CPP編程 2020.05.02
int main()
{
int i, j;
char str[10][50], temp[50];
printf("輸入10個單詞:\n");
for(i=0; i<10; ++i) {
scanf("%s[^\n]",str[i]);
}
for(i=0; i<9; ++i) {
for(j=i+1; j<10 ; ++j)
{
if(strcmp(str[i], str[j])>0)
{
strcpy(temp, str[i]);
strcpy(str[i], str[j]);
strcpy(str[j], temp);
}
}
}
printf("\n排序后: \n");
for(i=0; i<10; ++i)
{
puts(str[i]);
}
return 0;
}
輸入如下所示:
C
C++
Java
PHP
Python
Perl
Ruby
R
JavaScript
PHP
輸出如下所示:
C
C++
Java
JavaScript
PHP
PHP
Perl
Python
R
Ruby
關于C語言中怎么實現字符串排序就分享到這里了,希望以上內容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。