首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
下列程序的功能是:把s字符串中的所有字母改成该字母的下一个字母,字母z改成字母a。要求大写字母仍为大写字母,小写字母仍为小写字母,其他字符不做改变。请编写函数chg(char*s)实现程序要求,最后调用函数readwriteDAT(),读取in36.dat
下列程序的功能是:把s字符串中的所有字母改成该字母的下一个字母,字母z改成字母a。要求大写字母仍为大写字母,小写字母仍为小写字母,其他字符不做改变。请编写函数chg(char*s)实现程序要求,最后调用函数readwriteDAT(),读取in36.dat
admin
2009-02-24
51
问题
下列程序的功能是:把s字符串中的所有字母改成该字母的下一个字母,字母z改成字母a。要求大写字母仍为大写字母,小写字母仍为小写字母,其他字符不做改变。请编写函数chg(char*s)实现程序要求,最后调用函数readwriteDAT(),读取in36.dat中的字符串,并把结果输出到文件out36.dat中。
例如:s字符串中原有的内容为Mn 123Zxy,则调用该函数后,结果为No 123Ayz。
注意:部分源程序已给出。
请勿改动主函数main()和输入输出函数readwriteDAT()的内容。
试题程序:
#include<stdio. h>
#include<string. h>
# include<conio, h>
# include<ctype, h>
#define N 81
void readwriteDAT ();
void chg(char as)
{
}
main ( )
{
char a [N];
clrscr ();
printf("Enter a string:");
gets (a);
printf ("The original string is :");
puts (a);
chg (a);
printf("The string after modified :");
puts (a);
readwriteDAT ();
}
void readwriteDAT ()
{
int i;
char a [N];
FILE *rf, *wf;
r f=fopen ("in36. dat", "r" );
wf=fopen ("out36. dat", "w" );
for (i=0;i<10; i++)
{
fgets (a, 81, rf);
chg (a);
fprintf (wf, "%s", a);
}
fclose (rf);
fclose (wf);
}
选项
答案
void chg(char *s) { while (*s) if(*s==’z’ | |*s==’z’) /*字母z改成字母a,字母z改成字母A*/ { *s-=25; s++; /*取下一个字母* / } else if(*s>=’a’&& *s<=’y’) /*把小写字母改成该字母的下一个字母*/ { *s+=l; s++; /*取下一个字母*/ } else if (*s>=’A’&& *s<=’Y’) /*把大写字母改成该字母的下一个字母*/ { *s+=l; s++; /*取下一个字母*/ } else s++; /*取下一个字母* / }
解析
本题考查的知识点如下:
(1)英文字母对应的ASCII码的排列规律。
(2)指针的操作。
(3)选择结构中多个条件的布尔运算。
在ASCII码中,大、小写字母的ASCII码是连贯的,a~z对应97~122,A~Z对应65~90。z的ASCII码减去25即得到a的ASCII码,对Z同样适合。所以我们要对字符串中的字符依次进行判断,若是大(小)写字母,则按照ASCII码的规律和题意要求对字符进行转换。在这里,使用指针完成对字符的依次访问,每次将指针的地址加1直至指针为空即可。在选择结构的多个条件中,若需同时满足,则用“与”运算,否则,用“或”运算。
转载请注明原文地址:https://www.kaotiyun.com/show/ARYZ777K
本试题收录于:
三级网络技术题库NCRE全国计算机三级分类
0
三级网络技术
NCRE全国计算机三级
相关试题推荐
设有属性A,B,C,D,以下表示中不是关系的是
表达实体类型及实体之间联系用的数据结构是
对于学生信息表:student(sno,sname,sex,age,dept),如果把学生"张明"的姓名改为"张岩",则正确的语句是
在SQL中,视图(view)是三级模式结构中的()。
防止地址越界的工作是由下列哪一项完成的?
Oracle产品中CASE工具的名称是______。
若关系模式R∈1NF,且每一个非主属性完全函数依赖于码,则R∈
按行优先顺序存下三角矩阵的非零元素,则计算非元素aij(1≤j≤i≤n)的地址的公式为
在使用基于优先数的不可抢占式进程调度算法的系统中,不会引起进程切换的事件恳()。
在数据库技术中,网状数据模型的典型代表是【】系统,这是20世纪70年代数据库语言研究会下属的数据库任务组提出的一个系统方案。
随机试题
()依据管外窜通的不同情况,封窜的方法常采用循环法封窜、挤入法封窜、循环挤入法封窜以及堵料水泥浆封窜。
Mostpeopleretirefromworkbetweentheagesof60and65.Thishas【C1】______consequences,oneeconomicand【C2】______psychologi
Thereislittleneedformarketingintheplacesuchasasubsistencefarm,because______.Themoderncapitalismeconomycould
白细胞分化抗原测定方法目前主要采用
以下哪一项是肾钙质沉淀症的声像表现
王先生,68岁,肺癌晚期,入院后了解到病情后,情绪异常,抱怨家人不关心,指责医护人员不尽力,在治疗护理中配合差。请问:患者的心理属于哪个阶段?
甲公司为房地产开发企业,采用公允价值模式对投资性房地产进行后续计量,有关房地产的相关业务资料如下:(1)2013年12月,甲公司与乙公司签订租赁协议,约定将甲公司开发的一栋写字楼于开发完成的同时开始租赁给乙公司使用,租期为3年,每年收取租金400万元
下列项目中,属于速动资产项目的是()。
对偶发性问题的改进是________;对系统性问题的改进是________。()
下列事件过程的功能是:建立一个名为Datal的随机文件,存放角度值及这些角度的正弦函数值和余弦函数值,角度为1,2,3,...,90。请在空白处填入适当的内容,将程序补充完整。PrivateTypeAngKAsIn
最新回复
(
0
)