首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
函数ReadDat()的功能是实现从文件IN88.DAT中读取一篇英文文章存入到字符串数组xx中。请编制函数SortCharA(),该函数的功能是:以行为单位对字符按从小到大的顺序进行排序,排序后的结果仍按行重新存入字符串数组xx中。最后调用函数Write
函数ReadDat()的功能是实现从文件IN88.DAT中读取一篇英文文章存入到字符串数组xx中。请编制函数SortCharA(),该函数的功能是:以行为单位对字符按从小到大的顺序进行排序,排序后的结果仍按行重新存入字符串数组xx中。最后调用函数Write
admin
2010-01-09
78
问题
函数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全国计算机三级
相关试题推荐
数据转储也被称为数据备份,是数据库管理员的重要工作。下列有关此项工作的说法,正确的是()。
假定我们要建立一个学术论文数据库,存储如下信息:学术期刊有期刊编号、期刊名、发行单位;作者有作者编号、作者姓名、电子邮件;论文有论文编号、论文标题、摘要、正文;每篇论文只被一个期刊录用,每个期刊可以录用多篇论文;
在SQLServer2008中,在T表的c1列上定义唯一非聚集索引(索引名为idx1)的SQL语句是CREATE【8】INDEXidx1ONT(c1)
在SQLServer2008中,每个数据页可存储8060字节的数据。设表T有10000行数据,每行占用3000字节,则存储该表数据大约需要【8】MB存储空间。(存储空间保留到整数,小数点后按四舍五入处理)
具体来说,UML的语义是定义在一个四层建模概念框架中的,这四层分别是:【1】、元模型层、模型层和【2】。
查询处理器和存储管理器是数据库管理系统中的核心模块。下列关于查询处理器和存储管理器的说法,错误的是()。
数据库管理系统中的加锁协议规定了事务的加锁时间、持锁时间和释放锁时间,其中_______协议可以完全保证并发事务数据的一致性。
索引是数据库中重要的数据结构,关于索引现有下列说法:Ⅰ.在某个查询中带排序的属性有多个时可以考虑在这些属性上建立复合索引Ⅱ.一个表中最多只能有一个主索引或聚集索引Ⅲ.多属性索引中,索引属性的顺序一般按照属性的长度进行排列Ⅳ.在频繁更新的属性上建立索
数字签名是用于确认发送者身份和消息完整性的—个加密的【】。
为了使有差错的物理线路变成无差错的数据链路,数据链路层采用了哪种(或哪些)方法________。Ⅰ.差错控制Ⅱ.冲突检测Ⅲ.数据加密Ⅳ.流量控制
随机试题
符合“相资为制”的炮制方法是
下列关于正常人血管内血液不发生凝固的原因的叙述,错误的是
在绘制等声级线时,对于Leq,最低可画到()。
法律规定代位权的成立应具备法定要件,以下不属于此要件的是( )。
某三层办公楼外墙结构外围水平投影面积共为500m2,首层车库层高为2.2m,二、三层层高均为3.2m。首层设有挑出墙外1.5m的有柱雨篷,雨篷水平投影面积为20m2,二、三层主体结构外无围护结构的挑阳台水平投影面积之和为100m2。该办公楼的建筑面积为(
现代企业制度以完善的()制度为基础。
会议主持人的语言应做到()。
己知f(n)=,计算f(n)的C语言函数f1如下:将f1中的int都改为float,可得到计算f(n)的另一个函数f2。假设unsigned和int型数据都占32位,float采用IEEE754单精度标准。请回答下列问题。f(31)=232-1,
下列各项中,不符合《税收征收管理法》有关规定的是()。
IwasbornonthelastdayofFebruary.I’vealwaysfeltsorryforFebruary,squeezedbetweenthebigmonthsofJanuary(namedfo
最新回复
(
0
)