首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
下列程序的功能是:把s字符串中的所有字母改成该字母的下一个字母,字母z改成字母a。要求大写字母仍为大写字母,小写字母仍为小写字母,其他字符不做改变。请编写函数chg(char*s)实现程序要求,最后调用函数readwriteDAT(),读取in36.dat
下列程序的功能是:把s字符串中的所有字母改成该字母的下一个字母,字母z改成字母a。要求大写字母仍为大写字母,小写字母仍为小写字母,其他字符不做改变。请编写函数chg(char*s)实现程序要求,最后调用函数readwriteDAT(),读取in36.dat
admin
2009-02-24
29
问题
下列程序的功能是:把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://kaotiyun.com/show/ARYZ777K
本试题收录于:
三级网络技术题库NCRE全国计算机三级分类
0
三级网络技术
NCRE全国计算机三级
相关试题推荐
下面有关模式分解的叙述中,不正确的是
UNIX系统中,把输入输出设备看作是
下列()不是数据结构概念所包括的。
下列关于E-R模型向关系模型转换的叙述中,不正确的是()。
存储管理的目的是实现
Armstrong公理系统的3条推理规则是______、增广律和传递律。
关系数据库管理系统RDBMS的层次结构中,自上而下为:应用层、语言翻译处理层、数据存取层和数据【】层。
Oracle产品中CASE工具的名称是______。
在数据库技术中,实体—联系模型是一种
在公钥密码体制中,用于加密的密钥为
随机试题
A.轻度慢性肝炎B.急性重型肝炎C.重度慢性肝炎D.急性轻型肝炎大片坏死见于
A.室性逸搏心律B.交界性逸搏心律C.逸搏夺获性心律D.室性并行心律E.房性并行心律应注意与交界性逸搏心律伴束支阻滞相鉴别的是
患者,女,36岁,已婚。带下量多,色白,质黏,无味,纳少便溏,神疲肢倦,舌淡苔白腻,脉缓弱。治疗应首选()
A.大剂量青霉素B.淋必治C.盐酸四环素D.庆大霉素E.红霉素
(2008年)如图6—5所示,一倒置u形管,上部为油,其密度ρoil=800kg/m3,用来测定水管中的A点流速uA,若读数△h=200mm,则该点流速uA为()m/s。
公司经营管理能力分析包括()
(2009年考试真题)2002F3月11日,基于经济全球化与中国加入WTO的新形势,原国家发展计划委员会、原国家经济贸易委员会及原对外贸易经济合作部联合修订并发布的()及其附件成为我国现行产业政策中的重要组成部分。
古人有“闻过则喜”之说,而今天有些人则不然,总是_______,对比之下,实在不应该。填入划横线部分最恰当的一项是:
情景:你(LiMin)的美国朋友Sam正在中国度假,他给你发了一些照片。任务:请你用英语给Sam写一封50个词左右的电子邮件。内容包括:表示感谢;赞美他发来的照片;邀请他到你家作客;祝他假日愉
WhyisTerryAllencallingMr.Schutz?
最新回复
(
0
)