首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
函数readDat()的功能是从文件in52.dat中读取20行数据存放到字符串数组xx中(每行字符串的长度均小于80)。请编制函数JsSod(),该函数的功能是:以行为单位对字符串变量的—F标为奇数位置上的字符按其 ASCII值从小到大的顺序进行排序,排
函数readDat()的功能是从文件in52.dat中读取20行数据存放到字符串数组xx中(每行字符串的长度均小于80)。请编制函数JsSod(),该函数的功能是:以行为单位对字符串变量的—F标为奇数位置上的字符按其 ASCII值从小到大的顺序进行排序,排
admin
2009-02-24
50
问题
函数readDat()的功能是从文件in52.dat中读取20行数据存放到字符串数组xx中(每行字符串的长度均小于80)。请编制函数JsSod(),该函数的功能是:以行为单位对字符串变量的—F标为奇数位置上的字符按其 ASCII值从小到大的顺序进行排序,排序后的结果仍按行重新存入字符串数组xx中,最后调用函数writeDat()把结果xx输出到文件out52.dat中。
例如: 位置 0 1 2 3 4 5 6 7
源字符串 h g f e d c b a
则处理后字符串 h a f c d e b g。
注意:部分源程序已给出。
请勿改动主函数main()、读函数readDat()和写函数writeDat()的内容。
试题程序:
#include<stdio. h>
#include<string. h>
#include<conio. h>
char xx[20] [80];
void jsSort
{
}
void main ()
{
readDat ();
jsSort ( );
writeDat ();
}
readDat ( )
{
FILE *in;
int i=0;
char *p;
in=fopen ( "in52. dat", "r" );
while(i<20 && fgets(xx
,80,in) !=NULL)
{
p=strchr (xx
, ’ In’ );
if(p) *p=0;
i++;
}
fclose (in);
}
writeDat ()
{
FILE *out;
int i;
out=fopen ("out52 .dat", "w");
clrscr ( );
for (i=0;i<20;i++)
{
printf ("%s\n", xx
);
fprint f (out, "%s\n", xx
);
}
fclose (out);
}
选项
答案
void jsSort () { int i, j,k, strl; char ch; for (i=0; i<20; i++) { strl=strlen (xx [i] ); /*求各行字符串的长度*/ for (j=l; j <strl-2; j=j+2) /*将下标为奇数的字符按其ASCII值从小到大的顺序进行排序*/ for (k=j+2; k<strl; k=k+2) if(xx[i] [j]>xx[i] [k]) { ch=xx[i] [j]; xx[i] [j]=xx[i] [k]; xx[i] [k] =ch; } } }
解析
本题考查的知识点如下:
(1)二维数组的坊问及下标控制。
(2)数据的排序。
在本题中,将数据存放在一个二维数组xx中。其中以行数为数组的第—个下标,以字符串的最大长度 80为其第二个下标。因为以行为字符串处理的单位,首先要使用函数strlen()求得每一行中字符的个数。只对字符串数组中下标为奇数的字符进行处理,可以从xx[0][1]开始,若需要增加时都增加2,则可实现只访问下标为奇数的数组元素。排序使用前面介绍的“选择排序法”。
转载请注明原文地址:https://kaotiyun.com/show/xRYZ777K
本试题收录于:
三级网络技术题库NCRE全国计算机三级分类
0
三级网络技术
NCRE全国计算机三级
相关试题推荐
下列关于函数依赖的叙述中,哪一条是不正确的?
存储管理的目的是实现
在计算机上,高级语言程序一般称为【】,不能直接执行,必须将他们翻译成具体机器的机器语言程序才能执行,这种机器语言程序又称为目标程序。
下列关于Oracle数据库的叙述中,哪一条是不正确的?
数据库系统发生故障时,可以基于日志进行恢复。下面列出的条目中,哪些是日志记录的内容?Ⅰ.事务开始信息Ⅱ.更新信息Ⅲ.提交信息Ⅳ.事务中止信息
文件在存储设备上的存储位置是由()决定的。
为了实现数据终端设备之间的通信,在通信网络中必须设置交换中心,以便为需要通信的数据终端建立通信链路,通信结束后再拆除链路。目前在Internet网络中使用的交换技术主要是
设在采用SQLServer2008数据库的图书馆应用系统中有三个基本表,表结构如下所示,请用SQL语句完成下列两个查询:检索借书和王丽同学所借图书中的任意一本相同的学生姓名、系名、书名和借书日期。
在SQLServer2008中,建立索引视图的目的是为了提高数据查询的效率。下列关于索引视图的说法,错误的是()
假定我们要建立一个学术论文数据库,存储如下信息:◎学术期刊有期刊编号、期刊名、发行单位;◎作者有作者编号、作者姓名、电子邮件;◎论文有论文编号、论文标题、摘要、正文;◎每篇论文只被一个期刊录用,每个期刊可以录用多篇论
随机试题
A.伤寒B.感染性休克C.原发复合征D.肝炎并发胆囊炎E.传染性单核细胞增多症女孩,3岁,不规则发热15天,咳嗽盗汗,食欲缺乏,消瘦,其母有结核接触史。72小时PPD试验结果20mm,红细胞沉降率40mm/h,X线片右肺门见哑铃状影。其可能的诊
_______是指根据用户或消费者不同的需求特点,把企业某一产品的总体市场划分为若干不同的用户群或消费者群,即若干细小的市场。
简述服务过程的三个维度。
OneoftheindustrialgiantswhochangedAmericansocietywasHenryFordhornonafarminMichiganin1863,andhegrewuptob
《劳动法》规定:禁止用人单位招用未满()的未成年人。
根据下列资料,回答下题。2012年1~5月份,全国房地产开发投资22213亿元,同比增长18.5%,增速比1~4月份回落0.2个百分点。其中,住宅投资15098亿元,增长13.6%,增速回落0.3个百分点。1~5月份,商品房销售面积288
“你对原子弹是真正想要、十分想要,还是只有几分想。没有十分想呢?你是真正想要、十分想要,你就降低军政费用的比重,多搞经济建设。你不是真正想要、十分想要,你就还是按老章程办事。”毛泽东在此论述了()
函数u=ex—z+xy在点(2,1,0)处沿曲面ex一z+xy=3的法线方向的方向导数为_________.
下列Windows命令中,可以用于检测本机配置的域名服务器是否工作正常的命令是()。
运算符函数调用格式的表达式“y/x++”与表达式“y.operator/(operator++(x,0))”的含义相同,由此可看出()。
最新回复
(
0
)