首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
函数ReadDat()的功能是实现从文件IN88.DAT中读取一篇英文文章存入到字符串数组xx中。请编制函数SortCharA(),该函数的功能是:以行为单位对字符按从小到大的顺序进行排序,排序后的结果仍按行重新存入字符串数组xx中。最后调用函数Write
函数ReadDat()的功能是实现从文件IN88.DAT中读取一篇英文文章存入到字符串数组xx中。请编制函数SortCharA(),该函数的功能是:以行为单位对字符按从小到大的顺序进行排序,排序后的结果仍按行重新存入字符串数组xx中。最后调用函数Write
admin
2010-01-09
51
问题
函数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全国计算机三级
相关试题推荐
【10】视图是包含查询结果的数据库对象,其数据不是在视图使用时才读取而是预先计算的。
假定我们要建立一个学术论文数据库,存储如下信息:学术期刊有期刊编号、期刊名、发行单位;作者有作者编号、作者姓名、电子邮件;论文有论文编号、论文标题、摘要、正文;每篇论文只被一个期刊录用,每个期刊可以录用多篇论文;
设在SQLServer2008某数据库中,已建立了四个文件组:fg1、fg2、fg3和fg4,以及一个分区函数RangePF1。RangePF1的定义代码如下:CREATEPARTITIONFUNCTIONRangePF1(int)
在进行数据库应用系统需求分析时,需要给出允许并发访问的最大用户数,这属于数据库应用系统的【1】需求分析。
关于优化查询说法正确的是()。
假定我们要为某社交平台建立一个数据库,存储如下信息:每个用户有用户编号、姓名、手机号;每个群有群编号,群名称;每个帖子有帖子编号、发帖时间、正文;每个群有唯一的用户作为群主,一个用户可以担任多个群的群主;每个群拥有多个用户,每个用户可以加入多个群
下列关于SQLServer2008触发器的说法,错误的是()。
现有论文和作者两个实体,论文实体的属性包括题目、期刊名称、年份、期刊号;作者实体的属性包括姓名、单位、地址;一篇论文可以有多个作者,且每一位作者写过多篇论文,在每一篇论文中有作者的顺序号。请完成以下操作:将ER图转换成关系模式,并指出每个关系模式的主键
在分布式数据库中,使用【2】模式来描述各片段到物理存放场地的映像。
数据库管理系统中的加锁协议规定了事务的加锁时间、持锁时间和释放锁时间,其中_______协议可以完全保证并发事务数据的一致性。
随机试题
对格式条款有两种以上解释的,应当做出不利于提供格式条款一方的解释。()
A.环磷酰胺B.5-氟尿嘧啶C.丝裂霉素D.长春新碱E.甲状腺素
某女,23岁。产后突发大失血,见面色苍白,四肢厥冷,大汗淋漓,舌淡,脉芤。为
腹痛的临床辨证.应明辨
案情:甲公司向乙公司借款8000万元,借款期限来到,双方签订以物抵债协议,约定将甲公司的办公楼过户给乙公司,以抵偿债务,但未办理过户登记。甲公司的债权人丙认为,办公楼应当值1.2亿,该以物抵债协议价格过低,遂向法院提起诉讼,要求撤销该以物抵债协议。
下列再审案件中应当开庭审理的是()
关于基金管理人的合规性风险,以下表述正确的是()。Ⅰ.在具体风险事件中,合规风险可表现为操作风险、声誉风险或道德风险Ⅱ.合规风险包括投资合规性风险、操作合规性风险、反洗钱合规性风险等Ⅲ.不公平对待不同投资组
班级授课制的优缺点各是什么?
在描述金融深化与经济增长关系的托宾模型中,货币对经济运行的影响,主要是通过对()的影响,进而对人们的消费或储蓄行为的影响实现的。
Whoseemstohaveeatentoomuch?WhichofthesentencesisTRUE?
最新回复
(
0
)