首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
下列程序的功能是:把s字符串中的所有字母改成该字母的下一个字母,字母z改成字母a。要求大写字母仍为大写字母,小写字母仍为小写字母,其他字符不做改变。请编写函数chg(char*s)实现程序要求,最后调用函数readwriteDAT(),读取in36.dat
下列程序的功能是:把s字符串中的所有字母改成该字母的下一个字母,字母z改成字母a。要求大写字母仍为大写字母,小写字母仍为小写字母,其他字符不做改变。请编写函数chg(char*s)实现程序要求,最后调用函数readwriteDAT(),读取in36.dat
admin
2009-02-24
31
问题
下列程序的功能是:把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://jikaoti.com/ti/tfp7FFFM
本试题收录于:
三级网络技术题库NCRE全国计算机三级分类
0
三级网络技术
NCRE全国计算机三级
相关试题推荐
数据库管理系统的数据模型有______三种。
SQL语言采用【】操作方式。例如,查询所有平均成绩在90分以上的学生姓名,用户必须说明完成该请求的具体处理过程,即如何用循环结构按照某条路径一条一条地把满足条件的学生记录读出来,而SQL语言采用集合操作方式,不仅查询结果可以是元组的集合,而且一次插入
有一个网络数据库应用系统,其中一台计算机A存有DBMS软件、所有用户数据和应用程序,其余各节点作为终端通过通信线路向A发出数据库应用请求,这种方式属于
下列关于异步传输模式ATM技术的叙述中,哪一条是不正确的?
数据库系统发生故障时,可以基于日志进行恢复。下面列出的条目中,哪些是日志记录的内容?Ⅰ.事务开始信息Ⅱ.更新信息Ⅲ.提交信息Ⅳ.事务中止信息
假定有n个关键字,它们具有相同的散列函数值,用线性探查方法把这n个关键字存入到哈希地址空间中要做【】次探查。
Internet中的计算机与路由器的IP地址采用分层结构,它由______与主机地址两部分组成。
下面页面淘汰算法中,会产生Belady(异常)现象的是______。
已知某教务管理系统的设计人员在需求分析阶段收集到下列原始数据表格:已知该业务系统存在如下规则:I.每个教师有唯一的教师号,每个教师号对应唯一的一名教师;II.每门课程有唯一的课程号,每个课程号对应唯一的一门课程;III.每本教材有唯一的教材号,每
云计算包含互联网上的应用服务及在数据中心提供这些服务的软硬件设施,通常包括软件即服务、平台即服务、基础设施即服务。其中_______即服务是指通过网络提供操作系统和相关服务,而无需下载或安装。
随机试题
控制的根据是()
提出“先有农村红军,后有城市政权”论断的领导人是()
有一鸡场饲养3000只蛋鸡,日粮中钙含量为1%,钙磷比例为3:1。在鸡群中最可能出现具有诊断意义的症状是()。
个人独资企业的缺点包括()。
关于施工成本分析基本方法的用途的说法,正确的有()。
水平分析是一种基于对未来利率预期的债券组合管理策略。( )
利润表可以考核借款人经营计划的完成情况,当银行对利润表分析时,需要对损益表进行调整,营业利润要调整为利润总额时,需要将营业利润加上(),再减去营业外支出。
当达到最小时,则()。
将价格定为1000元,而不是990元,则采用的定价策略属于()。
要开展教育科研,首先必须要掌握教育科研的基本过程。其中,()是教育科研工作的起点。
最新回复
(
0
)