神犇营-my0028-输出相邻字母

版权声明:本文为博主原创文章,未经博主允许不得转载。如需转载,请与博主联系。 https://blog.csdn.net/qq_31790997/article/details/90737857

小韦同学@神犇营-my0028-输出相邻字母

题目:

描述

英文的二十六个字母大家都知道吧?现在请你根据以下要求写一个程序:
输入一个字母,输出自己,并且输出跟这个字母相邻的字母,并且要按原来顺序排列。
如:
输入:B
输出:ABC
或者:
输入:b
输出:abc
输入保证合法,不会输入 a, A, z 和 Z。

输入

输入一个字母。

输出

按顺序输出它前面一个字母,它自己和它后面一个字母。中间没有空格。

输入样例

B

输出样例

ABC

题解:

破题:

输入一个字母,输出它的前一个字母,它自己,它的后一个字母,之间没有空格。

思路:

因为字符(包括字母)在计算机中是转成 ASCII 码进行存储,本质上是整数,所以可以运算。而大写字母的 ASCII 码相对大小和字母的相对顺序是一致的,比如 B 的ASCII 码是 66,而 A 的 ASCII 码是 65,C 的 ASCII 码是 67。所以对于一个字母而言(除了 a, z, A, Z 外),只要 ASCII 码减 1 即可得到前一个字母,ASCII 码加 1 即可得到后一个字母。
先定义一个字符型的变量,用来存储输入的字母,并且输入这个变量:

	char c;  // 定义一个字符(char)型变量c 
	cin >> c;  // 输入变量c 

做计算,并且输出:

	// 输出变量c的前一个字母,c,和 c的后一个字母
	// 字符变量c减1得到的是数字,要用char作强制类型转换,c加1也是一样的 
	cout << char(c -1) << c << char(c + 1) << endl;

或者可以再定义两个字符型的变量,将运算结果存在变量中,再一起输出来:

	char c1 = c - 1;  // c 的前一个字母 
	char c2 = c + 1;  // c 的后一个字母 
	cout << c1 << c << c2;

完整代码:


#include <bits/stdc++.h>

using namespace std;

int main() {
	
	char c;  // 定义一个字符(char)型变量c 
	cin >> c;  // 输入变量c 
	// 输出变量c的前一个字母,c,和c的后一个字母
	// 字符变量c减1得到的是数字,要用char作强制类型转换,c加1也是一样的 
	cout << char(c -1) << c << char(c + 1);
	
	return 0;
}

或者


#include <bits/stdc++.h>

using namespace std;

int main() {
	
	char c;  // 定义一个字符(char)型变量c 
	cin >> c;  // 输入变量c 
	char c1 = c - 1;  // c 的前一个字母 
	char c2 = c + 1;  // c 的后一个字母 
	cout << c1 << c << c2;
	
	return 0;
}

猜你喜欢

转载自blog.csdn.net/qq_31790997/article/details/90737857