一道c语言程序设计题,高手帮忙啊
一种简单的英文词典排版系统的实现【要求】(1)能输入和现实打入的单词(2)能分辨出单词(3)对重复的单词和已经输入的单词能自动排除(4)能按A~Z的顺序排版(5)能将运行...
一种简单的英文词典排版系统的实现
【要求】
(1)能输入和现实打入的单词
(2)能分辨出单词
(3)对重复的单词和已经输入的单词能自动排除
(4)能按A~Z的顺序排版
(5)能将运行结果以文本形式储存
(6)具有添加新单词蹦重新排版的能力
[提示]
(1)需求分析:运行结果以文本形式储存,因而要提供文件的输入输出操作;通过查找操作检查重复单词;提供排序操作现实按A~Z的顺序排版;提供插入操作添加新单词并重新排版。另外通过键盘式菜单实现功能选择。
(2)总体设计:整个系统被设计为单词录入模块,文件存储模块和单词浏览模块。其中单词录入模块要完成输入单词,检查是否重复,排序操作。文件存储模块把存放单词的数组中的数据写入文件。单词浏览模块完成英文词典的输出,即文件的输出操作。
(3)数据结构采用指针数组或二维数组。以【Enter】键或者空格键作为单词输入结束标志,对重复的单词自动排除可选用查找方法,数据结构可采用指针和数组。
(如果程序能跑,追加啊)
发到muchuan19881010@126.com或404299769@qq.com 展开
【要求】
(1)能输入和现实打入的单词
(2)能分辨出单词
(3)对重复的单词和已经输入的单词能自动排除
(4)能按A~Z的顺序排版
(5)能将运行结果以文本形式储存
(6)具有添加新单词蹦重新排版的能力
[提示]
(1)需求分析:运行结果以文本形式储存,因而要提供文件的输入输出操作;通过查找操作检查重复单词;提供排序操作现实按A~Z的顺序排版;提供插入操作添加新单词并重新排版。另外通过键盘式菜单实现功能选择。
(2)总体设计:整个系统被设计为单词录入模块,文件存储模块和单词浏览模块。其中单词录入模块要完成输入单词,检查是否重复,排序操作。文件存储模块把存放单词的数组中的数据写入文件。单词浏览模块完成英文词典的输出,即文件的输出操作。
(3)数据结构采用指针数组或二维数组。以【Enter】键或者空格键作为单词输入结束标志,对重复的单词自动排除可选用查找方法,数据结构可采用指针和数组。
(如果程序能跑,追加啊)
发到muchuan19881010@126.com或404299769@qq.com 展开
2个回答
展开全部
#define MAXLINE 40
main()
{
int i;
char *pstr[10],str[10][MAXLINE];
for(i=0;i<10;i++)
pstr[i]=str[i];
printf("\nInput some words:\n");
for(i=0;i<10;i++)
scanf("%s",pstr[i]);
sort(pstr);
printf("\nOutput arrenge words:\n");
for(i=0;i<10;i++)
delete(pstr);
}
sort(pstr)
char *pstr[10];
{
int i,j;
char *p;
for(i=0;i<10;i++)
{
for(j=i+1;j<10;j++)
{
if (strcmp(*(pstr+i),*(pstr+j))>0)
{
p=*(pstr+i);
*(pstr+i)=*(pstr+j);
*(pstr+j)=p;
}
}
}
}
delete(pstr)
char *pstr[10];
{
int i;
if(strcmp(*(pstr+i),*(pstr+i+1))<0)
printf("%s ",pstr[i]);
else if(strcmp(*(pstr+i),*(pstr+i+1))==0)
return(delete);
}
main()
{
int i;
char *pstr[10],str[10][MAXLINE];
for(i=0;i<10;i++)
pstr[i]=str[i];
printf("\nInput some words:\n");
for(i=0;i<10;i++)
scanf("%s",pstr[i]);
sort(pstr);
printf("\nOutput arrenge words:\n");
for(i=0;i<10;i++)
delete(pstr);
}
sort(pstr)
char *pstr[10];
{
int i,j;
char *p;
for(i=0;i<10;i++)
{
for(j=i+1;j<10;j++)
{
if (strcmp(*(pstr+i),*(pstr+j))>0)
{
p=*(pstr+i);
*(pstr+i)=*(pstr+j);
*(pstr+j)=p;
}
}
}
}
delete(pstr)
char *pstr[10];
{
int i;
if(strcmp(*(pstr+i),*(pstr+i+1))<0)
printf("%s ",pstr[i]);
else if(strcmp(*(pstr+i),*(pstr+i+1))==0)
return(delete);
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询