题目大意:首先输入一个n,然后接下来n行每一行输入一串由不多于50个大写字母组成的字符串,将字符串中的每一个字母都依次变为其下一个字母,例:A->B,C->D,以此类推,Z->A。

解题思路:

1、该题是多组测试数据,且每组测试数据的字符串数量确定,所以先输入n,之后用while(cin>>n)。

2、因为有大量的测试数据,所以应用结构体,首先要把每组测试数据中的字符串进行输入,即构建一个结构体,应用char型数组,输入测试数据。

3、对于每组测试数据,由于字母的变换规律相同,所以很容易想到应用字符的ACSII码值,即对于一个数组内所有的字母,除Z之外的,均可以直接将该字母+1,得到新的字母,而Z则-25,完成对字符串的变换。

4、对结构体内字符数组的输出,用循环,逐个输出。要注意的是,样例输出中的String #1中间有空格,所以输出要控制格式。

源代码

#include <bits/stdc++.h>

using namespace std;

struct aaa           //定义结构体

{

char a[50];

}b[10000];

int main()

{

int i,n,l,j;

while(cin>>n)   //输入n

{

for (i=1;i<=n;i++)

{

cin>>b[i].a;    //输入字符串

for (j=0;j<(int)strlen(b[i].a);j++)    //字符串内字母的变换

{

if (b[i].a[j]=='Z')

b[i].a[j]=b[i].a[j]-25;

else

b[i].a[j]=b[i].a[j]+1;

}

}

for (i=1;i<=n;i++)    //输出

{

cout<<"String #"<<i<<endl;    //注意这里的空格

for (j=0;j<(int)strlen(b[i].a);j++)

cout<<b[i].a[j];

cout<<endl<<endl;

}

}

return 0;

}

做题感想:在一个自认为比较难的题没有解决之后,做了这个还是比较简单的题。这个题因为粗心提交错了好几遍,主要文体出现在了字母的变换以及输出的格式。之前几次提交错误是因为Z变A的时候粗心写成了-26,应该是-25,输出的格式首先第一点是每组样例后都有一行空格,其次string和#之间有空格,这些都是不应该出现的问题。虽然A了,但是以后还是要注意避免这些不该出现的错误。不过总算做出来一个,虽然比较简单但是还是比较开心的。

ACM程序设计书中题目--J(大写字母的更替)相关推荐

  1. Java实验——分别统计字符串中出现的大写字母、小写字母个数,以及出现的数字字符以及其他字符的个数

    目录 一.题目要求 二.解题思路 三.具体代码 四.运行截图 一.题目要求 分别统计字符串中出现的大写字母.小写字母个数,以及出现的数字字符以及其他字符的个数. 二.解题思路 本题的解题思路是,统计大 ...

  2. 正则表达式:密码中至少包含大写字母、小写字母、数字、特殊字符等字符中的2种或3种

    目录 前言 先行断言 是否有那么一个开始符号,它后面的字符中包含小写字母(a-z) 正向否定查找 是否有那么一个开始符号,它后面不全是小写字母(a-z) 密码中只包含字母且长度在8-16之间 密码中同 ...

  3. c语言中怎么把大写字母转化为小写字母,c语言大小写字母怎么转化?

    在C语言中,小写字母转换为大写字母的方法是将小写字母的ASCII码值减去32(例:A=a-32):大写字母转换为小写字母的的方法是将大写字母的ASCII码值加上32(例:a=A+32)即可. 在 C ...

  4. 显示所有大写字母python_Python编程如何查找和列出输入字符串中的所有大写字母...

    hexnine已经给了你一个很好的答案,但是我会补充一些关于你发布的错误的解释.在def string_upper(): chars = input("Please enter a stri ...

  5. IEEE英文论文章节标题中同样是大写字母,同样是10号,看起来大小却不一样,怎么设置

    首先设置标题字体效果为"小型大写字母",注意字体为"MS MIincho",然后首字母用键盘的大写字母打,非首字母用键盘的小写字母打,出来就是这样的效果.

  6. python判断字符串是否包含大写字母_检查字符串中是否存在大写字母

    可以将any与生成器一起使用,以测试字符串是否包含大写字母testString = "abjKcf" print(any(x.isupper() for x in testStri ...

  7. erlang 程序设计书中的错误

    第10  名字服务 中的 10.1.2节(131页) erl -sname bilbo rpc:call(gandalf@localhost, kvs, store, [weather, fine]) ...

  8. java将字符串转小写转大写字母_输入一个字符串,将字符串中的所有大写字母转换为小写字母,所有小写字母转换为大写字...

    [java]代码库import java.util.*; public class Main { public static void main(String[] args) { // TODO co ...

  9. 数据结构:假设有一个带头结点的单链表L,每个结点值由单个数字、小写字母和大写字母构成。设计一个算法将其拆分成3个带头结点的单链表L1、L2和L3,L1包含L中的所有数字结点,L2包含L中的所有小写字母

    假设有一个带头结点的单链表L,每个结点值由单个数字.小写字母和大写字母构成.设计一个算法将其拆分成3个带头结点的单链表L1.L2和L3,L1包含L中的所有数字结点,L2包含L中的所有小写字母结点,L3 ...

最新文章

  1. 栈劫持(栈迁移)介绍
  2. 如何看懂ORACLE执行计划
  3. 基于JAVA+SpringMVC+Mybatis+MYSQL的微信小程序图书借阅管理系统
  4. 基于JAVA+Servlet+JSP+MYSQL的保险管理系统
  5. wangeditor中添加超链接校验
  6. delphi7 dbgrid缓存模式下怎么判断输入重复记录_互联网公司的架构设计要怎么落地?| 技术头条...
  7. HttpServletResponse response详解
  8. sql server 2008 r2 打开ssms管理工具,提示“值不能为空”问题
  9. 鸟哥Linux学习笔记(从头学习Linux基础)
  10. 1.3. DIGITAL SIGNATURES数字签名
  11. 深度学习100问之深入理解Vanishing/Exploding Gradient(梯度消失/爆炸)
  12. python程序控制结构实验报告_20193227 实验二《Python程序设计》实验报告
  13. 竞赛复盘(1)- CCF BDCI 2019 互联网新闻情感分析
  14. FPGA Verilog视频笔记
  15. 用R求矩阵的特征值和特征向量
  16. mysql 修改分区名_修改数据库分区表分区名和所属表空间,限于Oracle10g
  17. esp8266 mixly blynk远程控制 + NTP+天气预报及一体 智能钟
  18. mysql事务(详解)
  19. Mac电脑到底该用什么下载软件?Folx苹果电脑专用
  20. 我做的一个java简单文本编辑器代码

热门文章

  1. 海量数据相关面试问题(二):海量数据热点数据/出现频度/TOP-K问题(TOP-K 分而治之/Hash映射 / Hashmap统计频度 / 堆排序决出排名)
  2. Linux学习(Kali为蓝本)
  3. Apriori算法python实现(数据挖掘学习笔记)
  4. pycharm 破解方法
  5. 扫描dir目录函数之scandir()
  6. 【JavaScript 逆向】极验四代无感验证码逆向分析
  7. Google Maps Download Tool 谷歌地图下载工具
  8. 二进制有符号数补码计算器
  9. 系统级程序设计第二次作业
  10. 作为硕士生/博士生导师招收的第一个学生是一种怎样的体验?| 文末送书