首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
函数ReadDat()的功能是实现从文件IN88.DAT中读取一篇英文文章存入到字符串数组xx中。请编制函数SortCharA(),该函数的功能是:以行为单位对字符按从小到大的顺序进行排序,排序后的结果仍按行重新存入字符串数组xx中。最后调用函数Write
函数ReadDat()的功能是实现从文件IN88.DAT中读取一篇英文文章存入到字符串数组xx中。请编制函数SortCharA(),该函数的功能是:以行为单位对字符按从小到大的顺序进行排序,排序后的结果仍按行重新存入字符串数组xx中。最后调用函数Write
admin
2010-01-09
38
问题
函数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全国计算机三级
相关试题推荐
数据转储也被称为数据备份,是数据库管理员的重要工作。下列有关此项工作的说法,正确的是()。
通常数据库的转储机制有三种,分别是完全转储、差量转储和【13】转储。
以下关于两段锁协议的原理叙述错误的是()。
下列关于SQLServer数据库空间的说法,正确的是()。
数据完整性保护是指保护数据的正确性和一致性。有下列关键字:Ⅰ.GRANTⅡ.CHECKⅢ.UNIQUEⅣ.NOTNULL上述关键字中和完整性定义相关的是()。
下面关于模式分解的说法,错误的是()
设有m个的用户集合US={u1,…,um},现对他们的行为数据进行处理,使得每个用户ui对应一个n维向量Vi=[Vil,…,Vin],用于表示用户ui的特征。设有函数sim(Vi,Vj)用于判定用户ui与用户uj之间的相似性。若有算法A,能根据用户问的相似
按照数据库应用系统生命周期模型,系统设计阶段细分为概念设计、【2】设计和物理设计三个步骤。
设有m个的用户集合US={u1,…,um},现对他们的行为数据进行处理,使得每个用户ui对应一个n维向量Vi=[vi1,…,vin],用于表示用户ui的特征。设有函数sim(Vi,Vj)用于判定用户ui与用户uj之间的相似性。若有算法A,能根据用户间的相似
索引是数据库中重要的数据结构,关于索引现有下列说法:Ⅰ.在某个查询中带排序的属性有多个时可以考虑在这些属性上建立复合索引Ⅱ.一个表中最多只能有一个主索引或聚集索引Ⅲ.多属性索引中,索引属性的顺序一般按照属性的长度进行排列Ⅳ.在频繁更新的属性上建立索
随机试题
Osler结节
管理学的特性不包括()。
It’snotdifficulttounderstandourdesireforathletestobeheroes.Onthesurface,atleast,athletesdisplayavitalandin
A、温度计B、旋光计C、pH计D、阿培折光计E、高效液相色谱;以下仪器用具使用正确的是测定熔点所用仪器
建设单位与供货商签订的水泥供货合同未约定交货地点,后双方对此没有达成补充协议,也不能依其他方法确定。则供货商备齐水泥后,()。
必须要经过报送________这一法律程序,订立的集体合同才能发生法律效力。
已知函数f(x)=sin()sinx一cos2x求f(x)的最小正周期和最小值;
用MIPS衡量的计算机性能指标是()。
A、Allsharkshaveteeth.B、Asharkcanhavesixrowsofteeth.C、Asharkcanhavehundredsofteeth.D、Allsharkshaveextremely
A、Itwillbelongbeforerobotscanbeusedathome.B、Itwillbeveryexpensivetouserobotsinthefuture.C、Robotswilltake
最新回复
(
0
)