首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
函数ReadDat()的功能是实现从文件IN35.DAT中读取一篇英文文章存入到字符串数组xx中。请编制函数SortCharD(),该函数的功能是:以行为单位对字符按从大到小的顺序进行排序,排序后的结果仍按行重新存入字符串数组xx中,最后调用函数Write
函数ReadDat()的功能是实现从文件IN35.DAT中读取一篇英文文章存入到字符串数组xx中。请编制函数SortCharD(),该函数的功能是:以行为单位对字符按从大到小的顺序进行排序,排序后的结果仍按行重新存入字符串数组xx中,最后调用函数Write
admin
2009-02-19
65
问题
函数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全国计算机三级
相关试题推荐
假设某汇编语言源程序的代码段段地址为CSEG,启动地址为START,可用来设置CS寄存器值的汇编语句是______。
能够在一个文件中存放多幅彩色图像的文件格式是【 】。
下面程序段中,当满足条件转到NEXT标号执行时,AL中的值正确的是______。 CMP AL,0FBH JNL NEXT … NEXT......
关于“新一代计算机”或“未来型计算机”的特点有许多叙述,例如,Ⅰ.新一代的计算机系统主要着眼于机器的智能化Ⅱ.新一代的计算机系统速度极快,容量无限制,体积很小Ⅲ.它具有较自然的人机通信能力Ⅳ.它不但能听、能说,而且能思考
下面关于μC/OS—II任务管理的叙述中,错误的是()。
下列选项中用于完成创建任务的自用栈空间的μC/OS—Ⅱ程序源代码的是()。
μC/OS—Ⅱ操作系统可以定义的最大任务数是64个,最高优先级定为【71】,最低优先级取值为实际定义的最大任务数减【72】。
某机械设备的控制器,其基本功能要求有:需要有8个数字量输入,用于采集设备的状态信息;且需要8个数字量输出,用于控制设备动作。具备一个RS一232接口,可以和上位机连接,接收上位机发送的命令及参数。需要提供一个基准定时信号,定时时间间隔为0.01秒。
嵌入式系统的开发过程按顺序可以分成【77】分析与规格说明、系统设计、【78】设计、系统集成与测试等4个阶段,测试的目的是验证模块/系统的功能和性能,以及发现错误。
移植μC/OS—Ⅱ到一个嵌入式系统电路板上正常运行,下面()条件不是必须的。
随机试题
甲欲向乙购买一批货物,双方在买卖合同中约定,甲于次日交付定金5万元,乙于一个月内发货。次日,甲向乙交纳了1万元,乙接受,但一个月后一直不曾发货,造成甲严重损失。若甲主张适用定金罚则,则甲可以得到()。
健康良好的生理和心理状态是一个人正常学习、工作和生活的必备条件。下列选项中,属于不良心理状态的是【】
心悸不安,心痛时作,唇甲青紫,舌质紫暗,脉涩,选用何方治疗最佳
[2010年,第37题](Mg(OH)2)=5.6×10-12,则Mg(OH)2在0.01mo1.L-1NaOH溶液中的溶解度为()。
理想气体向真空作绝热膨胀,则()。
为了保证路堤的强度和稳定性,在填筑路堤时,要处理好基础,选择良好的填料,保证必需的压实度及正确选择填筑方案,下列表述是关于路堤的填筑,错误的是()。
为保证项目的实际发生费用不超过项目预算费用,必须对费用实施控制管理。某项目经理为此编制了费用计划,进行了费用估算和预算,并使用了S曲线。在S曲线上,某时刻的预算费用是300万元,而实际费用是280万元。请据此回答下面的问题:下列关于案例中费用偏差的认识
一般公民与国家工作人员勾结,利用国家工作人员职务上的便利,侵吞公共财物的,对一般公民应如何处理?()
计算机化的信息系统建设不仅是一项技术性工程,同时也是一项【】工程。
Theauthorofthepassageisprimarilyconcernedwith______.TheauthorreferstoAbernathy’sstudy(paragraph3)mostprobabl
最新回复
(
0
)