首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
函数ReadDat()的功能是实现从文件IN35.DAT中读取一篇英文文章存入到字符串数组xx中。请编制函数SortCharD(),该函数的功能是:以行为单位对字符按从大到小的顺序进行排序,排序后的结果仍按行重新存入字符串数组xx中,最后调用函数Write
函数ReadDat()的功能是实现从文件IN35.DAT中读取一篇英文文章存入到字符串数组xx中。请编制函数SortCharD(),该函数的功能是:以行为单位对字符按从大到小的顺序进行排序,排序后的结果仍按行重新存入字符串数组xx中,最后调用函数Write
admin
2009-02-24
56
问题
函数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://kaotiyun.com/show/yRYZ777K
本试题收录于:
三级网络技术题库NCRE全国计算机三级分类
0
三级网络技术
NCRE全国计算机三级
相关试题推荐
关系的规范化实质上是围绕着______进行的。
下列不是数据字典存储的信息的是
下面有关模式分解的叙述中,不正确的是
UNIX系统中,把输入输出设备看作是
Oracle数据库系统物理空间的使用是由下列哪一个(些)结构控制的?
下面关于函数依赖的叙述中,不正确的是______。
以下关于关系表和元组叙述错误的是()。
在SQLServer2008中,设logl是SQLServer身份验证模式的数据库服务器登录帐户。现要授予log1具有创建数据库的权限,请补全下列语句:EXECsp_addsrvrolemember’log1’,’_______’。
如果对明文attack使用密钥为5的恺撒密码加密,那么密文是 【】。(密文用大写字母表示)
密码分析学是研究分析【】学科。
随机试题
试述存现句的特点,以及分析存现句时需要注意的问题。
设f(2x一1)=xlnx,求∫13f(t)dt.
A.感觉性失语症B.运动性失语症C.失写症D.失读症E.穿衣失用症左侧大脑皮层的额中回后部损伤时可产生
在求解临界点时我们可以通过敏感性分析图求得其()。
过失损坏电信线路及其他电信设施,造成重大通信事故的行为包括()。
支票的提示付款期限为自出票日之日起()内。
按照《全国统一建筑工程预算工程量计算规则》的规定,有钢筋混凝土楼板隔层者,内墙高度计算,应从()。
商业银行的流动性需求是由一定水平的核心存款以及一定数量的流动性负债来决定的。()
根据我国的法律规定,下列哪些情况可以形成法律关系?()
A、Atthebookstore.B、Atthelibrary.C、Atthetravelagency.D、Atthehospital.B
最新回复
(
0
)