首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
函数ReadDat()的功能是实现从文件IN88.DAT中读取一篇英文文章存入到字符串数组xx中。请编制函数SortCharA(),该函数的功能是:以行为单位对字符按从小到大的顺序进行排序,排序后的结果仍按行重新存入字符串数组xx中。最后调用函数Write
函数ReadDat()的功能是实现从文件IN88.DAT中读取一篇英文文章存入到字符串数组xx中。请编制函数SortCharA(),该函数的功能是:以行为单位对字符按从小到大的顺序进行排序,排序后的结果仍按行重新存入字符串数组xx中。最后调用函数Write
admin
2010-01-09
77
问题
函数ReadDat()的功能是实现从文件IN88.DAT中读取一篇英文文章存入到字符串数组xx中。请编制函数SortCharA(),该函数的功能是:以行为单位对字符按从小到大的顺序进行排序,排序后的结果仍按行重新存入字符串数组xx中。最后调用函数WriteDat()把结果xx输出到文件OUT88.DAT中。
例如,原文:dAe,BfC
CCbbAA
结果:, ABCdef
AACCbb
原始数据文件存放的格式是:每行的宽度均小于80个字符,含标点符号和空格。
注意:部分源程序已给出。
请勿改动主函数main()、读函数ReadDat()和写函数WriteDat()的内容。
试题程序:
#include<stdio.h>
#include<string.h>
include<conio.h>
char xx[50] [80];
int maxline=0;
int ReadDat (void);
void WriteDat(void);
void SortCharA()
{
}
void main()
{
clrscr ();
if (ReadDat())
{
printf("数据文件IN88.DAT不能打开!\n\007");
return;
}
SortCharA();
WriteDat();
}
int ReadDat (void)
{
FILE *fp;
int i=0;
char *p;
if((fp=fopen("IN88.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("OUT88.DAT","w");
for(i=0;i<maxline;i++)
{
printf("%s\n",xx
);
fprintf(fp,"%s\n",xx
);
}
fclose(fp);
}
选项
答案
void SortCharA() { int i, j,k, strl; char ch; for (i=0; i<maxline;i++) strl=strlen (xx [i] ); /*求该行的字符个数*/ for (j=0; j<strl-1; j++) /*对字符按从小到大的顺序进行排序*/ for (k=j+l; k<strl; k++) if (xx[i] [j]>xx[i] [k]) { ch=xx[i] [j]; xx[i] [j]=xx[i] [k]; xx[i] [k] =ch; } } }
解析
本题考查的知识点如下:
(1)循环结构的嵌套。
(2)字符的大小比较。
(3)字符排序。
本题以行为单位对文章进行处理,首先要确定每一行中字符的个数。这个操作可使用字符串处理函数 strlen(char*str)来完成。对字符从小到大排序依据的是字符的ASCII码,在C语言中,字符量可参与任何整型运算,所以可以直接使用比较运算符进行比较。排序使用前面介绍的“选择排序法”。最后使用循环结构对文章中的每一行都进行以上的操作。
转载请注明原文地址:https://kaotiyun.com/show/dOYZ777K
本试题收录于:
三级网络技术题库NCRE全国计算机三级分类
0
三级网络技术
NCRE全国计算机三级
相关试题推荐
设有课程表(课程号,课程名,开课学期)和选课表(学号,课程号,成绩),现要利用开窗函数查询每门课程的课程名、开课学期及选该门课的学生人数(不包括没人选的课程)。请补全下列语句:SELECTDISTINCT课程名,开课学期,COUNT(*)OVE
【10】视图是包含查询结果的数据库对象,其数据不是在视图使用时才读取而是预先计算的。
假定我们要为某社交平台建立一个数据库,存储如下信息:每个用户有用户编号、姓名、手机号;每个群有群编号,群名称;每个帖子有帖子编号、发帖时间、正文;每个群有唯一的用户作为群主,一个用户可以担任多个群的群主;每个群拥有多个用户,每个用户可以加入多个群
现有论文和作者两个实体,论文实体的属性包括题目、期刊名称、年份、期刊号;作者实体的属性包括姓名、单位、地址;一篇论文可以有多个作者,且每一位作者写过多篇论文,在每一篇论文中有作者的顺序号。请完成以下操作:画出ER图。
不同的数据库管理系统采用的日志文件格式不完全一样,概括起来主要有以记录为单位的日志文件和以【13】为单位的日志文件两种。
OLAP主要用于支持复杂的分析操作,侧重对决策人员和高层管理人员的数据支持。OLAP的实现方式主要有三种:MOIAP、_______和HOIAP。
索引是数据库中重要的数据结构,关于索引现有下列说法:Ⅰ.在某个查询中带排序的属性有多个时可以考虑在这些属性上建立复合索引Ⅱ.一个表中最多只能有一个主索引或聚集索引Ⅲ.多属性索引中,索引属性的顺序一般按照属性的长度进行排列
设有下列关于数据库分析、设计与实现的工作:Ⅰ.用概念数据模型表示数据对象的特征及其相互间的关联关系Ⅱ.进行数据库的备份与恢复等日常维护Ⅲ.在ER图的基础上确定数据库关系模式Ⅳ.调整数据库逻辑模式,确定文件组织与存取方式,评估物理模式Ⅴ.考虑分析D
ETL工具是指从OLTP系统或其他数据环境中抽取数据的工具。在实践中,人们采用ETL工具从OLTP系统抽取出数据再进行分析利用,而不是在OLTP系统中直接进行数据分析利用的最主要原因是()。
在分布式数据库中,采用【13】连接操作可以减少场地之间的数据传输量。
随机试题
在8086CPU中,用于存放代码段的段地址的寄存器是()
A.胃脘隐痛B.胃脘刺痛C.胃脘胀痛D.胃脘灼痛肝胃郁热之胃痛可见()
在建设单位的计划体系中,工程项目建设总进度计划不包括()。
对广东省东莞市人民政府作出的具体行政行为不服申请复议的,由()管辖。
令人奇怪的是,洛可可风格竟然首先出现于法兰西。路易十四的统治持续时间太长,对老王朝过分虔诚的时代终于结束,雄伟高贵的凡尔赛不再迫使人们参加令人生厌的庆典,从此人们聚集于巴黎各公馆的精美沙龙之中。起初,洛可可是一种新型装饰,是为热爱冒险、异国情调、奇思遐想和
下列不属于其他业务成本核算内容的项目是()。
ItwasinevitablethatanyofPresidentGeorgeW.Bush’sfanshadtobeverydisappointedbyhisdecisiontoimplementhightari
ISP是掌握Internet______的机构。
Nowadaysthescatteringofgalaxiesandtheastoundingabundanceofstarsareforcingthosewhopondersuchmatterstoafurther
Themainpurposeofthispassageisto______.Accordingtotheauthor,itisimpossibleatpresenttocut60%ofcarbondioxide
最新回复
(
0
)