用C語言編寫將若干單詞按字母排序的程式請各位高手幫忙

2021-07-01 01:07:08 字數 2561 閱讀 8326

1樓:匿名使用者

#include

#include

#include

#define filename "c:\\a.txt" /*存放單詞的文字檔案,可以在此修改路徑*/

char *readln(file *fp) /*從檔案fp中讀取一行(一個)單詞,儲存到字元陣列中,返回字元陣列的地址,返回null說明檔案讀取已經結束*/

wd=(char*)realloc(wd,sizeof(char)*++n);

wd[n-1]='\0';

}return wd;

}int cmp(const void *a,const void *b) /*根據字母順序比較兩個單詞字串的大小*/

else break;

return tolower(as[i])-tolower(bs[j]);

}void freewds(char **a,const int n) /*釋放佔用的空間*/

free(a);

}int main(void)

while (line=readln(fp),line) /*將檔案中的單詞讀取到wds陣列中*/

else wds=(char **)realloc(wds,sizeof(char*)*(++n));

wds[n-1]=line;

}fclose(fp); /*關閉檔案*/

qsort(wds,n,sizeof(char*),cmp); /*對單詞進行排序,不區分大小寫*/

for (i = 0; i

freewds(wds,n);

return 0;

2樓:

使用歸併排序的思想

1讀取一個單詞

2按照單詞的大小比較順序插入單詞連結串列中

等單詞讀完了 排序的結果也好了

3樓:匿名使用者

#include

#include

#include

#define path "file path" //自定義單詞檔案的路徑

#define maxlen 32 //單詞的最大長度typedef struct nword

*pword;

void insert(char* nword, pword list)

else

}new_word->next = p->next;

p->next = new_word;

}int main(void)

while(nhead->next != null)free(nhead);

fclose(fp);

return 0;

}大概就是這樣,能實現你要的要求,可以參考下。有什麼不懂可以研究研究

4樓:苦行道人

本答案的基本思想就是把檔案內容讀入儲存到字元陣列中,然後利用類似氣泡排序法的方法把字元陣列的元素進行重新排序,再把字元陣列的元素儲存到檔案中,裡面定義了一個全域性變數的字元陣列。已通過測試,供參考。

#include "iostream"

#include "fstream"

#define max 120

using namespace std;

void filetostr(char a); //將檔案內容儲存到字元陣列裡面

void doexchange(); //對字元陣列裡的元素進行重新排序

void swap(int,int);

char str[max]; //全域性變數,用來儲存檔案內容的字元陣列

void strtofile(char a); //把字元陣列儲存到檔案中

int main()

else

cout<<"成功開啟檔案!"<>str[i++];

}str[i]='\0';

instr.close();

}void doexchange()

swap(i,t);

i++;}}

void swap(int m,int n)

void strtofile(char a)

c語言一個文字內所有單詞按首字母排序

5樓:匿名使用者

先將文字里的所有單詞賦值給二維字串變數string[i][j],取每個的單詞的首字母例如string[i][0]進行比較回排序,排序演算法網上多答得是,可以自己找一種做

for(i=0;i<9;i++) /* 冒泡法排序 */for(j=0;j<10-i-1;j++)if(a[j]>a[j+1])

c語言 怎樣將一個英語單詞的字母按字典順序排序

6樓:偏執的it工匠

其實和一組數字排序是一樣的道理

用冒泡法給你寫個例子,你可以參考參考。

#include

#include

main()}}

printf("%s\n",a);}

用python編寫一段程式,輸入若干單詞,按照單詞長短進行排

1 解法 對輸入的單詞進行分割得到列表,遍歷列表中的單詞,二級遍歷單詞中的字元,判斷字元是否存在字元字典中,存在則計數 1,不存在則初始化字典為1 2 知識點 字典 列表 for迴圈 if判斷 input獲得輸入 print列印 3 如下 coding utf 8 簡歷一個字典,key 26個英文字...

C語言編寫程式,例如將字母A變成E,a變成e,即變成其後字母

幫人調好的,借來供lz參考 include int main void printf c c printf n return 0 include include main printf s s 這個就是你要的程式了,就是不知道當最後的4個字母加4你要變成什麼,就寫這樣了 include stdio....

C語言程式設計按字母順序給單詞排序,麻煩大神們看看我錯哪兒

for j 0 j 4 j 內 能不能把 發過來?c語言,輸入五個國家的名字 英文 按字母順序 即按ascii碼從小到大的順序 排列輸出 include include include typedef struct c c raw 5 c p 5 int main for i 0 i 4 i for...