首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
函数ReadDat()的功能是实现从文件IN88.DAT中读取一篇英文文章存入到字符串数组xx中。请编制函数SortCharA(),该函数的功能是:以行为单位对字符按从小到大的顺序进行排序,排序后的结果仍按行重新存入字符串数组xx中。最后调用函数Write
函数ReadDat()的功能是实现从文件IN88.DAT中读取一篇英文文章存入到字符串数组xx中。请编制函数SortCharA(),该函数的功能是:以行为单位对字符按从小到大的顺序进行排序,排序后的结果仍按行重新存入字符串数组xx中。最后调用函数Write
admin
2010-01-11
83
问题
函数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+1;k<str1;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)来完成。对字符从小到大排序依据的是字符的ASCⅡ码,在C语言中,字符量可参与任何整型运算,所以可以直接使用比较运算符进行比较。排序使用前面介绍的“选择拌序法”。最后使用循环结构对文章中的每一行都进行以上的操作。
转载请注明原文地址:https://www.kaotiyun.com/show/3b5Z777K
本试题收录于:
三级信息管理技术题库NCRE全国计算机三级分类
0
三级信息管理技术
NCRE全国计算机三级
相关试题推荐
采用多道程序设计技术可以()。
文件存储空间的管理方法有哪些?()
在下列存储管理方案中,能支持多道程序设计的是()。
下列关于页式存储管理方案的叙述中,哪一个是错误的?()
某一单核处理机的计算机系统中共有20个进程,那么,处于运行状态的进程最多为几个?()
关于可信计算机系统评估准则的描述中,正确的是()。
在以下国际组织中,制定OSI参考模型的是()。
IM系统工作于用户/服务器模式时,进行消息转发目的地判断的是()。
采用动态地址映射方式向内存装入程序时,其地址转换工作是在什么时间完成的?()
采用动态地址映射方式向内存装入程序时,其地址转换工作是在什么时间完成的?()
随机试题
首先考虑的诊断是以下治疗哪一项不适合
犬,雄性,1.5岁,就诊时精神沉郁,食欲废绝,呕吐,不愿运动,背腰弓起,心脏和肺脏听诊检查未见异常。触诊腹壁紧张,腹部有一段似香肠样异物,挤压时疼痛敏感性增高。采用B超横向扫查异常肠段的回声情况,出现低回声与强回声相间的多层靶样声像图。纵切面扫查显示为一系
患者,女,42岁。经量增多1年,伴尿频、夜尿增多3个月。妇科检查:宫颈柱状上皮异位,宫体中位,妊娠3个月大小,无压痛。彩超:子宫前侧壁凸起,8.5cm×9.5cm×8.3cm,中低回声。侵蚀性葡萄胎多发生在
26岁孕妇,妊娠足月,入院待产。夜间呼唤护士,自述感觉胎动过频。此时护士最不恰当的处理是()。
设D是两个坐标轴和直线x+y=1所围成的三角形区域,则xydσ的值为:
从工程建设前期开始,包括建设期、使用期,直到工程报废拆除各阶段发生的成本都要进行控制,是指工程造价的()。
下列地面面层中,属于整体面层的是()。
经常预算主要以()为收入来源,以()为支出对象。
正常生长的绿藻,照光培养一段时间后,用黑布迅速将培养瓶罩上,此后绿藻细胞的叶绿体内不可能发生的现象是()。
•Lookatthenotebelow•Youwillhearatalkbetweenaboyandagirl.1Thereisagreatshowatthe(5)theater.2She’ll
最新回复
(
0
)