對文字中的字串進行排序(C語言)

2021-06-25 08:31:24 字數 1501 閱讀 8978

對文字中的字串進行排序,文字中一行乙個字串。

#include #include #define limt 100               /*一行文字的最大長度*/

#define maxlen 10000

#define maxline 1000

char string[maxlen]; /* 存放所有的字串*/

char *linesp[maxline]; /* 指標陣列,每乙個元素如 linesp[i] 存放string中不同字串的首位址*/

int getline(char s, int max);

void str_order( char *v, int n);

void writelines(char *v, int n);

void swap(char *a, char *b);

int readlines(char *linesp, int max);

int main()

else

return 0;

} /******* 函式的功能*******/

/**讀入一行文字(包括'\n')到s中,最後以'\0'結束,返回字串的長度'\n'也算在內**/

/**若文字長度超過s的最大長度則丟棄超過的長度,s最後以'\0'結束,返回長度max-1(即'\0'所在的位置)**/

int getline(char s, int max)

/*** 將字串陣列 t 複製到 字串陣列m 中 ***/

void strcpy( char *s, char *t)

/***將文字行存放在 string[maxlen] 中,返回文字的行數 ***/

/*** linesp[maxline] 每乙個元素如 linesp[i] 為string中不同字串的首位址 **/

int readlines(char *linesp, int max)

else

} return nlines;

} /***比較字串的大小***/

int strcmp(char *s, char *t)

/***   交換兩個位址用陣列的方法交換 v的首位址給形參,

**實參和形參指向同一段記憶體,在函式中改變形參,實參也隨之改變

void swap(char *v, int i, int j)

*/

/***   交換兩個位址  ***/

void swap(char **a, char **b)

/**** 最字串陣列進行排序 ****/

void str_order( char *v, int n) }

/****將字元行按順序輸出****/

void writelines(char *v, int n)

互相學習,共同進步。

用指針對文字進行字串替換操作

指標是c語言的精髓,用指標進行文字內容解析等處理在開發過程中非常常見,這裡我寫了乙個 指針對文字進行字串替換操作的 作為練習。用vs2017環境編譯,因為本人偏愛日誌除錯的方法,所以 裡日誌列印內容佔了一定的行數。執行前要在對應目錄 見 裡的巨集定義 下建立文字文件,用於除錯。file operat...

C語言字串 字串排序

本題要求編寫程式,讀入5個字串,按由小到大的順序輸出。輸入為由空格分隔的5個非空字串,每個字串不包括空格 製表符 換行符等空白字元,長度小於80。按照以下格式輸出排序後的結果 after sorted 每行乙個字串 red yellow blue green white after sorted b...

c語言 字串排序

問題 用指向指標的指標的方法對5個字串排序並輸出。要求將排序單獨寫成乙個函式。字串和n在主函式中輸入。最後在主函式中輸出。n和n個字串 排序後的字串 5 12345 123abce abcde abcd123 12345 abcd abcde abce c int main c int main i...