首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
函数ReadDat()的功能是实现从文件IN100.DAT中读取一篇英文文章存入到字符串数组xx中。请编制函数CharConvA(),该函数的功能是:以行为单位把字符串的最后一个字符ASCII值右移4位后加最后第二个字符的ASCII值,得到最后一个新的字符
函数ReadDat()的功能是实现从文件IN100.DAT中读取一篇英文文章存入到字符串数组xx中。请编制函数CharConvA(),该函数的功能是:以行为单位把字符串的最后一个字符ASCII值右移4位后加最后第二个字符的ASCII值,得到最后一个新的字符
admin
2010-01-11
65
问题
函数ReadDat()的功能是实现从文件IN100.DAT中读取一篇英文文章存入到字符串数组xx中。请编制函数CharConvA(),该函数的功能是:以行为单位把字符串的最后一个字符ASCII值右移4位后加最后第二个字符的ASCII值,得到最后一个新的字符,最后第二个字符的ASCII值右移4位后加最后第三个字符的ASCII值,得到最后第二个新的字符,以此类推一直处理到第二个字符,第一个字符的ASCII值加最后一个字符的ASCII值,得到第一个新的字符,得到的新字符分别存放在原字符串对应的位置上,把已处理的字符串仍按行重新存入字符串数组xx中,最后调用函数WriteDat()把结果xx输出到文件OUT100.DAT中。
注意;部分源程序已给出。
原始文件存放的格式是:每行的宽度小于80个字符,含标点符号和空格。
请勿改动主函数main()、读函数ReadDat()和写函数Wnh2Dat()的内容。
试题程序:
#include<stdio.h>
#include<string.h>
#include<conio.h>
char xx[50][80];
int maxline=0;
int ReadDat();
void WriteDat();
void CharConvA(void)
{
}
void main()
{
clrscr();
if (ReadDat())
{
printf("数据文件IN100.DAT不能打开!\n\007");
return;
}
CharConvA( )
WriteDat();
}
int ReadDat(void)
{
FILE *fp;
int i=0;
char *P;
if((fp=fopen("IN100.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()
{
FILE *fp;
int i;
clrscr();
fp=fopen("OUT100.DAT","w");
for(i=0;i<maxline;i++)
{
printf("%s\n",xx
);
fprintf(fp,"%s\n",xx
);
}
fclose(fp);
}
选项
答案
void CharConvA(void) { int i,j,k,str; char ch; for(i=0;i<maxline;i++) { str=strlen(xx[i]); /*求出各行的总字符数*/ ch=xx[i][str-1]; /*将最后一个字符暂存入ch*/ for(j=str-1;j>0;j--) /*从最后一个字符开始,直到第二个字符*/ xx[i][j]=xx[i][j]>>4+xx[i][j-1]; /*当前字符ASCII值右移4位加前一个字符的ASCII值,得到新的当前字符*/ xx[i][0]+=ch; /第一个字符的ASCII值加最后一个字符的ASCII值,得到第一个新的字符*/ } }
解析
本题考查的知识点如下;
(1)字符变量的整数运算。
(2)使用循环实现对数组的访问。
因为是以行为处理单位,所以要先求得每一行中字符的个数。在C语言中,字符量可参与任何整数运算,实际参与运算的是字符的ASCII码。这里可以直接将字符右移4位后相加,即可得到所求结果。使用循环结构依次对字符进行处理,第一个字符要单独处理。
转载请注明原文地址:https://kaotiyun.com/show/jb5Z777K
本试题收录于:
三级信息管理技术题库NCRE全国计算机三级分类
0
三级信息管理技术
NCRE全国计算机三级
相关试题推荐
为了保证传输的安全性,某一Web网站要求用户使用SSL协议。如果该网站的域名为www.ok.edu.cn,用户访问该网站使用的URL应为()。
在相互通信的进程问设置一个公共内存区,一组进程向该公共内存中写,另一组进程从该公共内存中读,通过这种方式实现两组进程问信息交换的方式称为()。
关于共享式以太网的描述中,错误的是()。
在某页式存储管理系统中,页面大小为1KB,物理内存为256MB,进程地址空间为512MB,只考虑一级页表,则页表长度(页表项个数)为()。
下列各种方法中,哪一种既可以满足多道程序设计且设计上又最简单?()
在虚拟页式系统中进行页面置换时,置换以后不再需要的、或者在最长时间以后才会用到的页面,这一策略称为()。
共享性是操作系统的特征之一,下列哪种软件资源可以同时共享?()
UNIX操作系统中,fork()系统调用用于创建进程。仔细阅读、分析下列程序,假设程序正确运行并创建子进程成功,那么输出到屏幕的正确结果是()。main(){pid_tpid;pid=fork();if(
在可行性研究中,需要进行初步调查。最好的方法是
计算机集成制造系统的研究包含了信息的主要研究内容,因此也是计算机信息的一个主要研究和发展方向。它的目标是对设计、制造、管理实现全盘【】。
随机试题
日常工作;常规n.r______
治疗热病壮热不退,热极生风,惊痫抽搐的首选药物是
根管充填时主牙胶尖的长度应该是
下列关于记账凭证账务处理程序、汇总记账凭证账务处理程序、科目汇总表账务处理程序一般步骤的表述中,不是三者共有步骤的是()。
ABC会计师事务所正在制订业务质量控制制度,经过会计师事务所领导层集体研究,确立了下列重大质量控制制度:(1)合伙人的晋升与考核以业务量为主要考核指标,同时考虑遵循质量控制制度和相关职业道德要求的情况;(2)对员工介绍的客户,由员工所在
按照库存在企业中的用途不同,企业持有的库存可以分为周转库存、安全库存和季节性储备。()
决策树的分析程序包括:①剪枝决策;②计算期望值;③绘制树形图。下列排序正确的是()。
1904年颁布的______,标志着我国开始实行近代学校教育制度。(2014.湖南)
2005年“劳动力需求”的景气指数为( ),调查中,2006年“生产总值”指数持平企业数量约为“产品订货形势”指数增加企业数量的( )。
将考生文件夹下CALIN\SUN文件夹中的文件夹MOON移动到考生文件夹下LION文件夹中。
最新回复
(
0
)