首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
文件IN.DAT中存放有字符数据,函数ReadData()负责从中读取50行数据存放到字符串数组inBuf中(每行字符串的长度均小于80)。请编制函数arrangeChar(),该函数的功能是:以行为单位对字符串变量的下标为奇数位置上的字符按其ASCII码
文件IN.DAT中存放有字符数据,函数ReadData()负责从中读取50行数据存放到字符串数组inBuf中(每行字符串的长度均小于80)。请编制函数arrangeChar(),该函数的功能是:以行为单位对字符串变量的下标为奇数位置上的字符按其ASCII码
admin
2021-06-16
82
问题
文件IN.DAT中存放有字符数据,函数ReadData()负责从中读取50行数据存放到字符串数组inBuf中(每行字符串的长度均小于80)。请编制函数arrangeChar(),该函数的功能是:以行为单位对字符串变量的下标为奇数位置上的字符按其ASCII码值从小到大的顺序进行排序,对字符串变量的下标为偶数位置上的字符按其ASCII码值从大到小的顺序进行排序,排序后的结果仍按行重新存入字符串数组inBuf中,并且奇数位还存在奇数位上,偶数位还存在偶数位上。函数WriteData()负责把结果inBuf输出到文件OUT.DAT中。
例如: 位置0 1 2 3 4 5 6 7
源字符串a h c f e d g b
则处理后字符串g b e d c f a h
注意:部分源程序已给出。
请勿改动主函数main()、读函数ReadData()和写函数WriteData()的内容。
试题程序:
#include
#include
#include
#include
#define LINE 50
#define COL 80
char inBuf[LINE][COL+1];
int totleLine=0;//文章的总行数
int ReadData(void);
void WriteData(void);
void arrangeChar()
{
}
void main()
{
system(“CLS”);
if(ReadData())
{
printf(“IN.DAT can’t be openI\n\007”);
return;
}
arrangeChar();
WriteData();
}
int ReadData(void)
{
FILE*fP;
int i=0;
char*P;
if((fp=fopen(“IN.DAT”.“r”))==NULL)re
turn 1;
while(fgets(inBuf
,COL+1,fp)!=NULL)
{
P=strchr(inBuf
,’\n’);
if(p)* P=’\0’;
i++1
}
totleLine=i;
fclose(fp);
return 0;
}
void WriteData(void)
{
FILE*fp;
int i;
fp=fopen(“OUT.DAT”,“W”);
for(i=0;i
{
printf(“%s\n”,inBuf
);
fprintf(fp,“%s\n”,inBuf
);
}
fclose(fp);
}
选项
答案
void arrangeChar() { int i,j,k,col[LINE]; unsigned char temp; for(i=0;i
inBuf[i][k]&&((j+1)%2 ==0)&&((k+1)%2==0)) /*如果下标为奇数的字符的ASCII码值比 其后一个奇数位下标字符的ASCII码值大, 则进行交换*/ { temp=inBuf[i][j]; inBuf[i]Ei]=inBufi-i][k]; inBuf[i][k]=temp: } if(inBuf[i][j]
解析
本题主要考查字符串的排序问题。①分别时数组中下标为偶数和下标为奇数的数据进行排序,因此。在循环时应将奇数和偶数通过下标求余来区分开,以对其分别进行排序。②排序的思想是(以从小到大为例):将当前数与其后的各个数据相比较,如果当前的数据比其后的数据大,则将两数据进行交换。从而使得前面的数据小于后面的数据,达到从小到大排序的目的。
转载请注明原文地址:https://kaotiyun.com/show/z8OZ777K
本试题收录于:
三级网络技术题库NCRE全国计算机三级分类
0
三级网络技术
NCRE全国计算机三级
相关试题推荐
攻击者使用无效的IP地址,利用TCP连接的三次握手过程,使得受害主机处于开放会话的请求之中,直至连接超时。在此期间,受害主机将会连续接受这种会话请求,最终因耗尽资源而停止响应。这种攻击被称为()。
下列技术中,不属于宽带城域网QoS保证技术的是()。
在下面的攻击手段中,基于网络的入侵防护系统无法阻断的是()。
如下图所示,两台Cisco交换机通过千兆以太网接口相连,其中Catalyst6500的3/1端口要求工作在全双工通信方式,Catalyst3500g0/1端口的正确配置是()。
下图是校园网某台主机在命令行模式执行某个命令时用sniffer捕获的数据包。请根据图中信息回答下列问题。(1)从该主机发送给mail.tj.edu.cn的数据包经过的第一个路由器的IP地址是【16】。(2)图中的①~③删除了部分显示信息,其中①处应
下列对HiperLAN/2的描述中,错误的是()。
若服务器系统年停机时间为6小时,那么系统可用性至少达到()。
下列关于服务器技术的描述中,错误的是()。
下列工具中不能用作安全评估的是()。
随机试题
下列不引起牙本质过敏症的疾病是
能清热燥湿,泻火解毒,安胎的药物是()。
【2009年第67题】普通的钢筋混凝土梁中,哪一个不是决定其斜截面抗剪承载力的因素?
下列关于化学反应速率常数k的说法正确的是()。
某一弱酸的标准解离常数为1.0×10-5则相应强碱弱酸盐MA的标准水解常数为()。
某加油站在加油岛上安装了罩棚,罩棚边缘与加油机的平面距离不宜小于()m。
账套号是区别不同账套的其中一种标识。()
我某进出口公司于3月1日就出口自行车向某英商发一要约,限其3月5前答复,价格是CIF伦敦每辆45英镑,装运期为6月份。对方于3月2日回电,表示完全接受我方的报盘,但装运期必须改为5月份。由于我公司没有回电,英商于3月4日又来电表示完全接受我方3月1日的要约
动机强度与工作效率呈正相关,动机越强,工作效率越高。()
Fiftyyearsago,mostpeople’sdailylevelsofactivitywereequivalenttowalkingthreetofivemilesaday.Today,the【C1】____
最新回复
(
0
)