首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
函数ReadDat()的功能是实现从文件IN88.DAT中读取一篇英文文章存入到字符串数组xx中。请编制函数SortCharA(),该函数的功能是:以行为单位对字符按从小到大的顺序进行排序,排序后的结果仍按行重新存入字符串数组xx中。最后调用函数Write
函数ReadDat()的功能是实现从文件IN88.DAT中读取一篇英文文章存入到字符串数组xx中。请编制函数SortCharA(),该函数的功能是:以行为单位对字符按从小到大的顺序进行排序,排序后的结果仍按行重新存入字符串数组xx中。最后调用函数Write
admin
2010-01-09
74
问题
函数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全国计算机三级
相关试题推荐
已知某教务管理系统的设计人员在需求分析阶段收集到下列原始数据表格:已知该业务系统存在如下规则:Ⅰ.每个教师有唯一的教师号,每个教师号对应唯一的一名教师;Ⅱ.每门课程有唯一的课程号,每个课程号对应唯一的一门课程;Ⅲ.
在数据库动态转储机制中,一般需要使用【12】文件才能将数据库恢复到某一时刻的正确状态。
在SQLServer2008的某用户数据库中,设有T表,现要在T表的c1列和c2列上建立一个复合唯一聚集索引,其中c1列值重复率为20%,c2列为10%。请补全下列语句建立一个性能最优的索引:CREATEuNIQUECLLISTERED
在数据仓库中,元数据一般分成技术型元数据和【14】型元数据。
为了保证正确地调度事务的并发操作,事务对数据库对象加锁、解锁需遵守加锁协议。加锁协议中两阶段加锁协议可以保证事务调度【5】性。
在SQLServer2008中,常常会发生数据库数据过大的情况,此时则需要对表进行处理,通常可采用人工分割表的方法优化性能。下列有关分割表的说法,错误的是()。
在概念模型中,属性用于描述事物的特征或性质。关于属性有下列说法:Ⅰ.一个实体集中的属性名要唯一Ⅱ.属性一般用名词或名词短语命名Ⅲ.一个属性的值可以取自不同的域Ⅳ.实体集的标识属性能够唯一识别实体集中每一个实体
从安全性角度考虑,防火墙技术是用来保证数据库应用系统的【2】环境安全的。
关于操作型数据和DSS型数据特征有如下说法:Ⅰ.操作型数据更新频率高,DSS型数据一般不更新Ⅱ.操作型数据对性能要求宽松,DSS型数据对性能要求高Ⅲ.操作型数据是详细的,DSS型数据是综合的Ⅳ.操作型数据有冗余,DS
数字签名是用于确认发送者身份和消息完整性的—个加密的【】。
随机试题
宏观经济行政管理
不可气雾吸入给药的包括
患者男,45岁。因右侧下牙龈溃疡、疼痛3个半月人院。3个半月前发现原来右侧下牙龈上的黑斑逐渐长大,并出现溃疡,未诊治,近来溃疡范围加大,疼痛加重,易出血,体重下降6kg。全身检查:T37℃,P76次/分,R22次/分,BP130/87mmHg,身高1.70
下列属于建筑安装工程费用中人工费的是()。
袁某认为中川区房产管理局对他的房产信息记载有误,要求更正,该局拒绝。袁某向法院起诉该局不作为,请求法院判决该局在一定期限内更正,法院予以受理。该局认为,袁某的起诉超过法定期限。下列关于本案法院受理和举证责任的说法中,正确的有()。
下列关于职工薪酬的说法,正确的是()。
我国古代文学名作《桃花源记》的作者是()。
人类本质上的沉重感。主要源自于责任、期盼和压力。因而,承受便是生命的一种需要和方式了。我们不可能也决不能无任何负载地来往于世,作为人必须有所承受,承受我们需要承受的东西。在理想的王国里,我们承受亲人故人寄予的热望和要求;在生活路途上,我们承受着来自世俗的各
计算机网络最突出的优点是()。
Afteracarefulexamination,thedoctor______anewmedicalandatwo-dayrestforthepatient.
最新回复
(
0
)