首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
函数ReadDat()的功能是实现从文件IN35.DAT中读取一篇英文文章存入到字符串数组xx中。请编制函数SortCharD(),该函数的功能是:以行为单位对字符按从大到小的顺序进行排序,排序后的结果仍按行重新存入字符串数组xx中,最后调用函数Write
函数ReadDat()的功能是实现从文件IN35.DAT中读取一篇英文文章存入到字符串数组xx中。请编制函数SortCharD(),该函数的功能是:以行为单位对字符按从大到小的顺序进行排序,排序后的结果仍按行重新存入字符串数组xx中,最后调用函数Write
admin
2009-02-24
54
问题
函数ReadDat()的功能是实现从文件IN35.DAT中读取一篇英文文章存入到字符串数组xx中。请编制函数SortCharD(),该函数的功能是:以行为单位对字符按从大到小的顺序进行排序,排序后的结果仍按行重新存入字符串数组xx中,最后调用函数WriteDat()把结果xx输出到文件OUT35.DAT中。
例如,原文:dAe,BfC
CCbbAA
结果:fedCBA,
bbCCAA
原始数据文件存放的格式是:每行的宽度均小于80个字符,含标点符号和空格。
注意;部分源程序已给出。
请勿改动主函数main()、读函数ReadDat()和写函数WrteDat()的内容。
试题程序:
#include<Stdio.h>
#include<String.h>
#include<conio.h>
char xx[50][80];
int maxline=0;
int ReadDat(void);
void WriteDat(void);
void SortCharD()
{
}
void main()
{
Clrscr();
if (ReadDat())
{
printf("数据文件 IN35.DAT不能打开!\n\007");
return;
}
SortChar D();
WriteDat();
}
int ReadDat(void)
{
FILE *fp;
int i=0;
Char*p;
if((fp:fOpen("IN35.DAT","r"))==NULL)
return 1;
while (fgets(xX
,80,fp)!=NULL)
{
p=strchr(xX
,"\n");
if (p) *p:0;
i++;
}
maxline=i;
fclose(fp);
return 0;
}
void WriteDat()
{
FILE *fp;
int i;
Clrscr();
fp:fopen("OUT35.DAT","w");
for(i:0;i<maxline;i++)
{
printf("%s\",xx
);
fprintf(fp,"%s\n",xx
);
}
fclose(fp);
}
选项
答案
void SortCharD() { int i, j, k, strl; char ch; for (i=0;i { strl=strlen (xx [i] ); /*求各行的长度*/ for (j=0; j for (k=j+l; k if (xx[i] [j] { ch=xx[i] [j]; xx[i] [j]=xx[i] [k]; xx[i] [k] =ch; } } }
解析
本题考查的知识点如下:
(1)循环结构的嵌套。
(2)字符的大小比较。
(3)字符排序。
本题以行为单位对文章进行处理,首先要确定每一行中字符的个数。这个操作可使用字符串处理函数
strlen(char*str)来完成。对字符从大到小排序依据的是字符的ASCII码,在C语言中,字符量可参与任何整
型运算,所以可以直接使用比较运算符进行比较。排序使用前面介绍的“选择排序法”。最后使用循环结构对文章中的每一行都进行以上的操作。
转载请注明原文地址:https://www.kaotiyun.com/show/yRYZ777K
本试题收录于:
三级网络技术题库NCRE全国计算机三级分类
0
三级网络技术
NCRE全国计算机三级
相关试题推荐
表达实体类型及实体之间联系用的数据结构是
下列不属于数据库运行过程中可能发生的三类故障的是()。
广义表是线性表的推广,是由零个或多个单元素或______所组成的有限序列。
下列关于系统软件的叙述中,哪一个是不正确的?
基于以下描述:有关系模式R(S,T,C,D,G),根据语义有如下函数依赖集:F={(S,C)→T,C→D,(S,C)→G,T→C}。关系模式R的候选关键码()。A)仅有1个,为(S,C)B)仅有1个,为(S,T)
关于计算机语言,下面叙述不正确的是
下列哪一种设备不是输入设备?
在计算机中,防火墙是设置在可信任网络和不可信任的外界之间的一道屏障,其目的是
关于并行数据库系统的叙述中,错误的是
已知某教务管理系统的设计人员在需求分析阶段收集到下列原始数据表格:已知该业务系统存在如下规则:I.每个教师有唯一的教师号,每个教师号对应唯一的一名教师;II.每门课程有唯一的课程号,每个课程号对应唯一的一门课程;III.每本教材有唯一的教材号,每
随机试题
如果加速器的源轴距是100cm,而一个患者的肿瘤深度为10cm,则该射野的源皮距是
望面色,主要观察面部皮肤的__________和__________。
高度在25m处的作业属于()高处作业。
“仓至仓”条款是()。
假定2017年5月1日至3日为法定休假口,2017年5月4日是节后第一个工作日,假设投资者在2017年4月30日(周四,节前最后一个基金开放日)赎回了基金份额,那么投资者享有的基金利润将从()起开始计算。
幼儿教师晨间接待幼儿入园工作重点是()。
下列案件不属于行政诉讼受案范围的是()。
以下关于肯德尔和谐系数的命题,哪一项是错误的?()
Inthepassage,theauthorisprimarilyconcernedwith______.Theexampleoftheearlymodelsofhigh-speedrailroadcarsisus
请使用“答题”菜单或使用VC6打开考生文件夹proj1下的工程proj1,此工程包含程序文件main.epp,其中有类TimesTable(“乘法口诀表”)的定义和主函数main的定义。程序中位于每个//ERROR**********found
最新回复
(
0
)