当前位置:三九宝宝网 → 宝宝教育 → 教学论文 → 正文

用C语言编写一个将若干单词按字母排序的程序请各位高手帮忙

更新:12-24 整理:39baobao.com
字体:

[字母的学习]拼音这门课是非常重要的一门课,它将为入小学的汉字学习打下良好基础,但同时也是一门比较枯燥乏味的课,幼儿学完以后掌握的怎么样,发音是否准确,是否掌握了拼读方法都非常重要,至今...+阅读

//---------------------------------------------------------------------------

#include

#include

#include

#define FILENAME "c:\\a.txt" /*存放单词的文本文件,可以在此修改路径*/

char *readln(FILE *fp) /*从文件fp中读取一行(一个)单词,保存到字符数组中,返回字符数组的地址,返回NULL说明文件读取已经结束*/

{

char *wd=NULL,c;

int n=0;

if ((c=fgetc(fp))!=EOF) {

wd=(char*)malloc(sizeof(char));

if (!wd) return NULL;

*wd=c;

++n;

while ((c=fgetc(fp))!='\n'&c!=EOF)

{

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

wd[n-1]=c;

}

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

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

}

return wd;

}

int cmp(const void *a,const void *b) /*根据字母顺序比较两个单词字符串的大小*/

{

int i=0,j=0;

const char *as=*(const char **)a;

const char *bs=*(const char **)b;

while (as[i]&bs[j])

if (tolower(as[i])==tolower(bs[j])) {

++i;

++j;

}

else break;

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

}

void freewds(char **a,const int n) /*释放占用的空间*/

{

int i;

for (i = 0; i

free(a[i]);

}

free(a);

}

int main(void)

{

char **wds=NULL,*line=NULL;

int i,n=0;

FILE *fp=fopen(FILENAME,"r");

if (!fp) {

fprintf(stderr,"FILE NOT FOUND\n");

return -1;

}

while (line=readln(fp),line) /*将文件中的单词读取到wds数组中*/

{

if (!wds) {

wds=(char **)malloc(sizeof(char*));

n=1;

}

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

wds[n-1]=line;

}

fclose(fp); /*关闭文件*/

qsort(wds,n,sizeof(char*),cmp); /*对单词进行排序,不区分大小写*/

for (i = 0; i

puts(wds[i]);

}

freewds(wds,n);

return 0;

}

//---------------------------------------------------------------------------

本文地址:https://www.39baobao.com/show/29_14672.html

以上内容来自互联网,请自行判断内容的正确性。若本站收录的信息无意侵犯了贵司版权,请联系我们,我们会及时处理和回复,谢谢.

以下为关联文档:

小班学习字母RST小班学习字母RST 单词ra it tar tea rst ra it star tea 小一班 eily 活动目标: 1、通过游戏活动,引导幼儿的学习字母rst的正确读音,初步了解单词ra it star tea的含义,发音基本...

中班英语《单词fox 和elephant 》中班英语《单词fox 和elephant 》说课材料 一、说活动设计思路: 《纲要》中明确提出:“兴趣是学习的动力,只有对事物产生兴趣,才能成为获得知识的前提。”中班幼儿对小动物有着...

单词grey、pocket单词grey、pocket 活动目的: 1、初步学习谜语儿歌“Kangaroo”,能够讲述袋鼠的基本特征。 2、学习单词grey、pocket,正确认读和区分grey和green的发音。 活动准备:大布袋一只,彩...

第六单元颜色类单词教学反思教育学家苏霍姆林斯基说: 教师如果不想方设法使学生产生情绪高昂和智力振奋的内心状态,而只是不动感情的脑力劳动,就会带来疲倦。 因此,教师在课堂教学中不应用填灌式教法单纯以...

高三英语如何利用词根巧记单词学习教材PPT课件背英文单词的话,因为很多单词有前缀后缀词根等等,对记忆单词确实能够起到帮助。但是我个人认为对于中学生来说,这种所谓的捷径起不了多少真正的作用。最有效的方法是首先要熟练...

普希金说的那是从36个俄文字母上来的有什么言外之意俄国著名诗人普希金在一家饭馆里吃饭。有个贵族子弟认出他,便嬉皮笑脸地说:“亲爱的普希金,看得出你的腰包装的满满的。”普希金瞥了他一眼,风趣地说:“自然我比你要阔气些。你有...

C语言字母排序问题#include#include/*string包含gets,puts,strlen函数*/ void main() { char n[500];/*定义具有五百个字符的数组n,可以根据字符串的长度适当调整*/ int i,j,x,temp; printf("输入...

C语言:将输入的字符串按首字母顺序排列#include<stdio.h> #include<string.h> void sort(char *a[]); void print(char *a[]); int main() { char *a[] ={"ceo","define","basic","abc","empty"}; printf("原来的序列是:\n"); pr...

C语言对一个字符串中字母的排序问题#include #include #include int vowel(char *, char *); main() { char input[100]; char output[100]; scanf("%s",input); printf("input is %s\n", input); vowel(input, ou...