首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
函数ReadDat()的功能是实现从文件IN32.DAT中读取一篇英文文章存入到字符串数组xx中。请编制函数StrOR(),该函数的功能是:以行为单位把字符串中所有小写字母。左边的字符串内容移至该串的右边存放,然后把小写字母o删除,余下的字符串内容移到已处
函数ReadDat()的功能是实现从文件IN32.DAT中读取一篇英文文章存入到字符串数组xx中。请编制函数StrOR(),该函数的功能是:以行为单位把字符串中所有小写字母。左边的字符串内容移至该串的右边存放,然后把小写字母o删除,余下的字符串内容移到已处
admin
2009-02-15
71
问题
函数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全国计算机三级
相关试题推荐
交换式局域网增加带宽的方法是在交换机多个端口之间建立______。
下列选项中,对配置扩展访问控制列表的方法叙述不正确的是()。
下列选项中,不属于路由器的配置方式的是()。
按网络应用规模分类,网络服务器可分为()。①基础级服务器②工作组级服务器③企业级服务器④部门级服务器⑤高端服务器⑥中端服务器⑦低端服务器
在配置用户常规选项时,在用户访问选项中需要对文件、目录、子目录三类的权限进行分别设置,目录权限的设置选项分别是列表、建立和()。
如果一台CiscoPIX525防火墙有如下配置:Pix525(config)#nameifethernet0P1security100Pix525(config)#nameifethernet1P2security0Pix525(con
在E-mail服务器管理配置的快速设置向导中,需要输入的新建用户信息包括用户名、域名及______。
A、 B、 C、 D、 D生成树协议(STP)通过在交换机(或网桥)之间传递网桥协议数据单元(BPDU),并用生成树算法(STA)对其进行比较计算,以建立一个稳定、无回路的树状结构网络。在选择根交换机时,先比
A、 B、 C、 D、 C路由表的主要内容包括目的网络地址、下一跳路由器地址和目的端口等信息。另外,每一台路由器的路由表中还包含缺省路由的信息。缺省路由又称为缺省网关,如果目标网络没有直接显示在路由表里的时候
某计算机系统中共有3个进程P1、P2和P3,4类资源r1、r2、r3和r4。其中r1和r3每类资源只有1个实例,r2资源有2个实例,r4有3个实例。当前的资源分配状态如下:E={,,,,,}若进程P3申请一个r2类资源,则系
随机试题
Ifitwereonlynecessarytodecidewhethertoteachelementarysciencetoeveryoneonamassbasisortofindthegiftedfewan
ImmigrationandProblemsHundredsofthousandsofpeoplesupportingimmigrationrightsintheUSfilledstreetsalloverAme
细菌性痢疾的粪便特点是( )。
功专健脾和胃的药是
市场法的理论依据是房地产价格形成的()。
2008年5月,乔某和占某合作共同研制出一种太阳能集热器。同年7月中旬,占某到美国攻读博士学位。2008年8月2日,乔某以10万元的价格将该太阳能集热器专利申请权转让给王某。同月12日,王某以邮寄的方式向中国知识产权局提出了该太阳能集热器实用新型专利申请,
根据《税收征收管理法》及其实施细则的规定,欠缴税款数额较大的纳税人在处分其不动产或者大额资产之前,应当向税务机关报告。欠缴税款数额较大是指欠缴税款在()。
随着通信网络的数字化,端到端的数字传输在大多数情况下可以实现,在下列网络中目前还不能实现端到端的数字传输是()。
已知某运动员每次投篮命中的概率都为40%,现采用随机模拟的方法估计该运动员三次投篮恰有两次命中的概率:先由计算器产生0到9之间取整数值的随机数,指定1,2,3,4表示命中,5,6,7,8,9,0表示不命中;再以每三个随机数为一组,代表三次投篮的结果,经随机
TheArcticIceisThawingFatherChristmasmayhavetomovehis"workshop"fromtheNorthPolebecauseglobalwarmingistha
最新回复
(
0
)