首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
函数ReadDat()的功能是实现从文件IN8.DAT中读取一篇英文文章存入到字符串数组xx中:请编制函数StrCharJP(),该函数的功能是:以行为单位把字符串中的所有字符的ASCII值右移4位,然后把右移后的字符的ASCII值再加上原字符的ASCII
函数ReadDat()的功能是实现从文件IN8.DAT中读取一篇英文文章存入到字符串数组xx中:请编制函数StrCharJP(),该函数的功能是:以行为单位把字符串中的所有字符的ASCII值右移4位,然后把右移后的字符的ASCII值再加上原字符的ASCII
admin
2009-02-19
29
问题
函数ReadDat()的功能是实现从文件IN8.DAT中读取一篇英文文章存入到字符串数组xx中:请编制函数StrCharJP(),该函数的功能是:以行为单位把字符串中的所有字符的ASCII值右移4位,然后把右移后的字符的ASCII值再加上原字符的ASCII值,得到新的字符,并存入原字符串对应的位置上。最后把已处理的字符串按行重新存入字符串数组xx中,并调用函数WriteDat()把结果xx输出到文件OUT8.DAT中。原始数据文件存放的格式是:每行的宽度均小于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 StrCharJR(void)
{
}
main()
{
Clrscr();
if(ReadDat())
{
printf("数据文件IN8.DAT不能打开!\n\007");
return;
}
StrCharJR();
WriteDat ( );
}
int ReadDat (void)
{
FILE *fp;
int i= 0;
char *p ;
if ( (fp = fopen("IN8.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("OUTS.DAT", "w");
for(i = 0; i < maxline; i++)
{
printf("%s\n", xx
);
fprintf(fp, "%s\n", xx
);
}
fclose(fp);
}
选项
答案
void StrCharJR(void) { int i,j,strl; for(i=0;i<maxline;i++) { strl=strlen(xx[i]); /*计算各行字符串的长度*/ for(i=0;j<strl;i++) xx[i][j]+=xx[i][j]>>4; /*字符的ASCII值右移4位再加上原字符的ASCII 值,得到新字符*/ } }
解析
本题考查对二维字符数组元素的操作。注意:字符也可以参与数学运算,只不过用的是其ASCII码值。我们可以利用双重循环按照先行后列的顺序逐个取得数组中的字符(前提是我们需要求得各行字符的总个数),外层循环用来控制行数,内层循环用来依次取得各行中的每一个字符。之后对当前所取得的字符进行右移4位的运算(用到了“>>”右移运算符),然后把右移后得到的字符累加到原来字符中去,这样原来字符就被新的字符所覆盖。
转载请注明原文地址:https://kaotiyun.com/show/EzSZ777K
本试题收录于:
三级数据库技术题库NCRE全国计算机三级分类
0
三级数据库技术
NCRE全国计算机三级
相关试题推荐
文件系统的主要目的是( )。
假设某汇编语言源程序的代码段段地址为CSEG,启动地址为START,可用来设置CS寄存器值的汇编语句是______。
在下列有关386处理器工作模式的叙述中,错误的是( )。
已知:VAR DW 3,5,$+4,7,9,若汇编时VAR分配的偏移地址是0010H,则汇编后0014H单元的内容是( )。
ARM处理器芯片内部的直接存储器访问控制器常简称为___________【59】控制器,采用它来传输数据,可降低处理器的负荷;通过将CPU设为低功耗状态,并使用直接存储器访问控制器传输数据,能降低系统的___________【60】。
无线局域网采用的通信协议主要是【45】,通常也称为Wi—Fi,它有几种不同的数据传输速率,其中【46】协议的数据传输速率可达108Mbps甚至更高,可以满足传输语音、数据、图像等的需要
调试(debug)与测试(test)既有联系又有区别。验证模块/系统的功能和性能,发现错误是【77】的目的。分析所发现的错误,检查错误原因,定位故障(错误)位置和进行修改是【78】的目的。
采用ADS1.2集成开发工具软件来开发基于ARM微处理器的嵌入式系统时,ADS1.2把目标文件中的信息按照三种存储区域类型来进行划分,即划分为RO段、【77】、ZI段。其中RO段是指【78】和常数的存储区域,具有只读属性。
数字音频的比特率(码率)指的是每秒钟的数据量,它与取样频率、量化位数、声道数目、使用的压缩编码方法等密切相关。假设数字音频的比特率为16kb/s,其取样频率是8kHz,单声道,量化位数为8位,采用压缩编码,那么压缩比是()。
用数组A[1..n]顺序存储完全二叉树的各结点,则当i>0,且i<=【】时,结点A[i]的右子女是结点A[2i+1],否则结点A[i]没有右子女。
随机试题
通常用来指导组织战略决策的目标是()
庆大霉素无效的感染是
患者林某,女性,45岁,因双侧扁桃体反复感染伴化脓、发热,到某医院就诊。医生考虑病情给他开了价格昂贵的新型抗生素,患者根据经济状况要求改用平时常用的较便宜而有效的清凉解毒的中药或青霉素。 对此案例的伦理学分析,正确的是()。
下列适用于引导型客户的引导方式的是()。
A公司应邀参加氮制造厂合成压缩工段技改工程投标,招标书说明,以工期安排最短、最合理为中标主要条件。A公司技术部门依据招标书指出的工程内容编制了网络计划(如下图所示)。附加说明:(1)配管包括机泵本体配管25d,塔器本体配管20d,塔机间连接配管15d
在象征性交货下,装运和交货同时发生,卖方凭单交货,买方凭单付款。()
按预算编制方法分类,可将公共预算分为()。
某职工李某2016年入职,2019年每月应发工资均为35000元,每月减除费用5000元,“三险一金”专项扣除为4500元,享受子女教育、赡养老人两项专项附加扣除2000元,没有减免收入及减免税额等情况,以前三个月为例。根据以上资料,回答
鲍莫尔(BaumolWJ)的销售最大化模型,描述了企业在追求利润最大化和销售额最大化之间的博弈过程,这一模型反映了()。
A、Writingamemo.B、Watchingafilm.C、Tapingsomemusic.D、Makingavideorecording.B选项均以动名词开头表明,本题可能考查正在进行的动作。对话一开始男士问whatsh
最新回复
(
0
)