首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
函数ReadDat()的功能是实现从文件IN32.DAT中读取一篇英文文章存入到字符串数组xx中。请编制函数StrOR(),该函数的功能是:以行为单位把字符串中所有小写字母。左边的字符串内容移至该串的右边存放,然后把小写字母o删除,余下的字符串内容移到已处
函数ReadDat()的功能是实现从文件IN32.DAT中读取一篇英文文章存入到字符串数组xx中。请编制函数StrOR(),该函数的功能是:以行为单位把字符串中所有小写字母。左边的字符串内容移至该串的右边存放,然后把小写字母o删除,余下的字符串内容移到已处
admin
2009-02-15
42
问题
函数ReadDat()的功能是实现从文件IN32.DAT中读取一篇英文文章存入到字符串数组xx中。请编制函数StrOR(),该函数的功能是:以行为单位把字符串中所有小写字母。左边的字符串内容移至该串的右边存放,然后把小写字母o删除,余下的字符串内容移到已处理字符串的左边存放,最后把已处理的字符串仍按行重新存入字符串数组xx中。最后调用函数WriteDat()把结果输出到文件OUT32。DAT中。
例如,原文:You can create an index on any field
you have the correct record
结果:n any field Yu can create an index
rd yu have the crrect rec
原始数据文件存放的格式是;每行的宽度均小于80个字符,含标点符号和空格。
注意:部分源程序已给出。
请勿改动主函数main()、读函数ReadDat()和写函数,WriteDat()的内容。
试题程序:
#include<stdio.h>
#include<string.h>
#include<conio.h>
char xx[50] [80];
int maxline=O;
int ReadDat(void);
void WriteDat(void);
void StrOR(void)
{
}
void main()
{
clrscr();
if(ReadDat())
{
printf("数据文件 IN32.DAT 不能打开! \n\007");
return;
}
StrOR();
WriteDat();
}
int ReadDat(void)
{
FILE *fp;
int i=0;
char *p;
if((fp=fopen("IN32.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(void)
{
FILE *fp;
int i;
clrscr();
fp=fopen("OUT32.DAT","w");
for (i=0;i<maxline;i++)
{
printf("%s\n",xx
);
fprintf fp,"%s\n",xx
);
}
fclose(fp)
}
选项
答案
void StrOR(void) { int I, j, k, index, str1; char ch; for(I=0; I<maxline; I++) { str1=strlen(xx[I]); /*求各行的长度*/ index=str1; for(j=0;j<str1;j++) /*将一行中所以小写字母o右边的字符依次向左移一位,并删除字母o*/ if (xx[I][j]==’o’) { for(k=j;k<strl-1;k++) xx[I][k]=xx[I][k+1]; xx[I] [strl-1]=’ ’; index= j; /*记录下最后一个o所在的位置*/ } for(j=str1-1;j>=index;j--) /*最后一个o右侧的所有字符都移到已处理字符串的左边*/ { ch=xx[I] [strl-1]; for (k=str1-1;k>O;k--) xx[I] [k]=xx[I] [k-1]; xx[I][0]=ch; } } }
解析
本题考查的知识点如下:
(1) 循环结构与选择结构的嵌套使用。
(2) 字符数组中的元素的移动。
(3) 字符串处理函数的使用。
在本题中,以行作为字符串处理的基本单位。首先,要确定该行字符串的长度。然后使用循环结构依次对字符进行处理。先找到字符o,将o右侧的字符依次向左移。这个操作同时能够删除字符o。记录下最后一个o所在的位置,在这个o右侧的所有字符都要移到已处理字符串的左边,这个过程也是使用循环来完成的。最后,对文章中的每一行都进行这一操作即可。
转载请注明原文地址:https://kaotiyun.com/show/DPfZ777K
本试题收录于:
三级信息管理技术题库NCRE全国计算机三级分类
0
三级信息管理技术
NCRE全国计算机三级
相关试题推荐
802.11a工作在全球通用的哪一ISM频段()。
蓝牙系统的跳频速率是()。
Catalyst6500(CatalystOS(CatOS)系统)中配置UplinkFast生成树可选功能的命令格式是()。
软件执行交换结构的交换机先将数据帧由()转换成(),并将代码暂存在交换机的快速缓存RAM中
下列选项中,哪两项属于交换机的交换方式()。①静态交换②动态交换③存储转发④直通模式
______由两个及两个以上建筑物的电话、数据、电视系统组成一个建筑群综合布线系统。
下列选项中,不属于数字用户线xDSL技术的主要方式是()。
18.路由器的DHCP允许配置DHCP数据库代理。可以使用“______”命令取消地址冲突日志的记录功能。
如图1-6所示为在一台主机上用Sniffer捕获的数据包。请根据图1-6中的信息回答下列问题。(1)该主机使用的DNS服务器的域名是(16),DNS服务器的IP地址是(17)。(2)如果图1-6显示的是在该主机上执行某个操作过程中
一台交换机的生成树优先级是12288,若要将优先级提高一级,那么优先级的值应该设定为______。
随机试题
采集的样品必须具有充分的代表性,否则不论分析结果如何精密都毫无价值。
早孕期初步畸形筛查,不能检出的胎儿畸形是
男,4岁。发热,头痛,皮疹近2天,突发精神极度萎靡,皮肤瘀斑增多融合成片,面色苍白,四肢厥冷,脉搏细速,血压116kPa,脑膜刺激征阴性,考虑最有可能的诊断是()
自燃点是指在规定条件下,不用任何辅助引燃能源而达到燃烧的最低温度。对于柴油、煤油、汽油、蜡油来说,其自燃点由高到低的排序是()
关于工期索赔的说法,正确的是()。
客户编造虚假项目、利用虚假合同、使用官方假证明向商业银行骗贷,这类操作风险发生于法人信贷业务的()环节。
旅行社破产造成旅游者预交费用损失的,可从质量保证金中扣除。
根据下面资料,作答下列问题。张老师是一位初中教师,他始终认为只有严师才能出高徒。一天上课,他正在讲解课文,班上的王某跟同桌一直在座位上嘀嘀咕咕。张老师“恨铁不成钢”,走到王某座位旁,上去踹了王某一脚,并让王某和其同桌站到教室后面。张老师的做法
根据合同法规定,交付货物履行地点不明确的,履行地应为()。
软件维护是指系统交付使用后对软件所做的改变,以下Ⅰ.改正程序中存在的错误和不足Ⅱ.使软件能适应新的软、硬件环境Ⅲ.增加新的应用内容和功能哪个(些)是需要进行软件维护的原因?()
最新回复
(
0
)