首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
函数ReadDat()的功能是实现从文件IN35.DAT中读取一篇英文文章存入到字符串数组xx中。请编制函数SortCharD(),该函数的功能是:以行为单位对字符按从大到小的顺序进行排序,排序后的结果仍按行重新存入字符串数组xx中,最后调用函数Write
函数ReadDat()的功能是实现从文件IN35.DAT中读取一篇英文文章存入到字符串数组xx中。请编制函数SortCharD(),该函数的功能是:以行为单位对字符按从大到小的顺序进行排序,排序后的结果仍按行重新存入字符串数组xx中,最后调用函数Write
admin
2009-02-19
57
问题
函数ReadDat()的功能是实现从文件IN35.DAT中读取一篇英文文章存入到字符串数组xx中。请编制函数SortCharD(),该函数的功能是:以行为单位对字符按从大到小的顺序进行排序,排序后的结果仍按行重新存入字符串数组xx中,最后调用函数WriteDat()把结果xx输出到文件OUT35.DAT中。
例如,原文:dAe,BfC
CCbbAA
结果:fedCBA,
bbCCAA
原始数据文件存放的格式是:每行的宽度均小于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 SortCharD ( )
{
void main ( )
{
clrscr ( );
if (ReadDat())
{
print f ("数据文件 IN35.DAT 不能打开!\n\007");
return;
}
SortCharD ( );
WriteDat ( );
}
int ReadDat (void)
{
FILE *fp;
int i=0;
char *p;
if ( (fD=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++)
{
print f ("%s\n" ,xx
);
fprintf(fp,"%s\n",xx
);
}
fclose (fp);
}
选项
答案
void SortCharD() { int i,j,k,str1; Char ch; for (i=0;i<maxline;i++) { str1=strlen(xx[i]); /*求各行的长度*/ for(j=0;j<str1-1;j++) /*对字符按从大到小的顺序进行排序*/ for(k=j+1;k<str1;k++) if (xx[i][j]<xx[i][k]) { ch=xx[i][j]; xx[i][i]=xx[i][k]; xx[i][k]=ch; } } }
解析
本题考查的知识点如下:
(1)循环结构的嵌套。
(2)字符的大小比较。
(3)字符排序。
本题以行为单位对文章进行处理,首先要确定每一行中字符的个数。这个操作可使用字符串处理函数strlen(char*s炷)来完成。对字符从大到小排序依据的是字符的ASCII码,在C语言中,字符量可参与任何整型运算,所以可以直接使用比较运算符进行比较。排序使用前面介绍的“选择排序法”。最后使用循环结构对文章中的每一行都进行以上的操作。
转载请注明原文地址:https://kaotiyun.com/show/nsSZ777K
本试题收录于:
三级数据库技术题库NCRE全国计算机三级分类
0
三级数据库技术
NCRE全国计算机三级
相关试题推荐
计算机的主存储器(内存)用来存储数据和指令,为了实现按地址访问,每个存储单元必须有一个唯一的地址。PC机主存储器的编址最小单位是【 】。
交换寄存器SI、DI的内容,正确的程序段是( )。
μC/OS—II的每个任务都处在休眠态、就绪态、_________【69】态、挂起态和被中断态5种状态之一的状态下。就绪态任务在执行OSTaskDel()函数后将转入_________【70】态。
如下几种Bootloader中,用于Linux操作系统引导程序加载时所支持不同体系结构处理器种类最多的是()。
ARM处理器芯片内部的直接存储器访问控制器常简称为___________【59】控制器,采用它来传输数据,可降低处理器的负荷;通过将CPU设为低功耗状态,并使用直接存储器访问控制器传输数据,能降低系统的___________【60】。
需要ARM指令完成的功能是:如果不相等,则进行减法,正确的指令是()。
下面是嵌入式系统硬件部分的逻辑组成及其与外部世界关系的示意图,其中的组成部分A是【41】接口;组成部分B是【42】接口。
下列不是实时操作系统的是()。
嵌入式系统的开发过程按顺序可以分成【77】分析与规格说明、系统设计、【78】设计、系统集成与测试等4个阶段,测试的目的是验证模块/系统的功能和性能,以及发现错误。
嵌入式系统与通用计算机系统软件的相同之处,指的是嵌入式系统通常也具备【67】加载程序,外设【68】程序,操作系统,文件系统,网络协议栈,图形用户界面,数据库,以及各种各样的应用程序等,这些软件都是通用计算机所拥有的。
随机试题
下列句子中,加下划线字的词性与其他三项不同的是()
与心肌缺血有关的因素有
无差异性营销策略
“Itisdeclaredthatthisshipmentdoesnotcontainanywoodpackingmaterials.”与这句话意思接近的是()。
我国的中央银行是指()。
桂圆肉的主要产区是广西壮族自治区的()。
在一个长16米,宽12米,高8米的库房中最多可以装下多少只长4市尺,宽3市尺,高2市尺的箱子?
设A=,A*是A的伴随矩阵,则(A*)-1=_________.
已知A=10111110B,B=AEH,C=184D,不等式成立的是( )。
Readthetextsfromamagazinearticleaboutfamilyplanning.Forquestions61to65,matchthenameofeachpersontooneofth
最新回复
(
0
)