1.题目
IBM 减 一
你或许听说过 Arthur C. Clarke 写的《2001:一次漫长的太空冒险旅行》这本书,或者
Stanley Kubrick 演的同名电影。它讲的是一艘太空飞船被从地球送到土星。飞船被智能计
算机 HAL 控制,在这个漫长的飞行中,全体船员都将进入睡眠状态,只有两个人是醒着
的。但是在飞行过程中 HAL 的行为越来越奇怪,甚至准备杀死所有船员。我们不告诉你
这个故事的结尾,好让你自己去读这本书。
这部电影发行后很受大家的欢迎,许多人都在讨论“HAL”这个名字的实际含义。有
些人认为 HAL 可能是“Heuristic ALgorithm”的缩写。但比较流行的解释是:把 HAL 中
的每个字母按字母表里的顺序往后挪一个位置,就是 IBM。
可能有很多这样的首字母缩略语。你要编写一个程序来找出它们。
2.输入描述
输入的第一行是一个整数 n,这个整数表示以下字符串的个数。接下来就是 n 行,每
行上面有一个字符串,字符串是由至多 50 个大写字母构成。
3.输出描述
对于每个输入的字符串,先输出该字符串的序号,以输出样例中的形式输出。然后输
出一个字符串,该字符串的每个字符正好是输入字符串对应字母在字母表中的后一个位置
上的字母,“Z”的后一个字母是“A”。
每个测试案例后面打印一个空行。
4.输入样例
2
HAL
SWERC
5.输出样例
String #1
IBM
String #2
TXFSD
#include<iostream>
#include<string>
using namespace std;
int main()
{
int n;
cin>>n;
for(int i=0;i<n;i++)
{
string s;
cin>>s;
cout<<"String #"<<i+1<<endl;
for(int j=0;j<s.length();j++)
{
//判断是字符是否为Z,若是,输出字符A;反之,输出char(s[j]+1)
cout<<(s[j] != 'Z' ? char(s[j]+1):'A');
}
cout<<endl;
cout<<endl;
}
}
code your life,积累!