c++当用户输入一个英文字母后,程序能够按照字母表的顺序打印出3个相邻的字母,其中用

这里假设字母表首尾两个字母是相连的。若输入字母Z,则程序输出YZA... 这里假设字母表首尾两个字母是相连的。若输入字母Z,则程序输出YZA 展开
 我来答
604202899
推荐于2018-04-18 · 超过10用户采纳过TA的回答
知道答主
回答量:20
采纳率:0%
帮助的人:20.3万
展开全部
#include <iostream>
#include <cctype>
int main()
{
using namespace std;
char ch,ch1,ch2;
cout << "Enter a character: ";
cin >> ch;
ch = toupper(ch);
if (ch == 'A')
{
ch1 = 'Z';
ch2 = 'B';
}
else if (ch == 'Z')
{
ch1 = 'Y';
ch2 = 'A';
}
else
{
ch1 = char((int)ch - 1);
ch2 = char((int)ch + 1);
}
cout << ch1 << ch << ch2 << endl;
return 0;
}
wyujack
2015-03-24 · TA获得超过223个赞
知道小有建树答主
回答量:303
采纳率:0%
帮助的人:178万
展开全部
#include <iostream>
#include <cstdio>
using namespace std;
// ch [A,Z]
void Dis3Alp(char ch,int n)
{
    for(int i=0;i<n;++i)
    {
        printf("%c", ( (ch-'A')+i )%26 + 'A' );
    }
    puts("");
}
int main()
{
    char inc;
    while(scanf("%c",&inc)==1)
    {
        Dis3Alp(inc,3);
    }
    return 0;
}
追问
题目内容:
当用户输入一个英文字母后,程序能够按照字母表的顺序打印出3个相邻的字母,其中用户输入的字母在中间。

程序运行结果如下:

d
cde
这里假设字母表首尾两个字母是相连的。若输入字母Z,则程序输出YZA。
输入格式:

一个字符

输出格式:

连续3个字符

输入样例:

d

输出样例:

cde
追答
#include <iostream>
#include <cstdio>
using namespace std;
// ch [A,Z]
//void Dis3Alp(char ch,int n)
//{
//    for(int i=0;i<n;++i)
//    {
//        printf("%c", ( (ch-'A')+i )%26 + 'A' );
//    }
//    puts("");
//}
// ch [a,z]
void Dis3Alp2(char ch,int n)
{
    for(int i=0;i<n;++i)
    {
        printf("%c", ( (ch-1-'a'+26)%26+i )%26 + 'a' );
    }
    puts("\0");
}
int main()
{
    char inc='\0';
    while(scanf("%c",&inc)==1)
    {
        if(inc<'a' || inc > 'z')
            continue;
        //Dis3Alp(inc,3);
        Dis3Alp2(inc,3);
    }
    return 0;
}

 PS : a=>zab 

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
www5182ceae4
2019-03-03 · TA获得超过228个赞
知道小有建树答主
回答量:471
采纳率:0%
帮助的人:181万
展开全部
#include <iostream>
#include <cstdlib>
using namespace std;
int main()
{
char shuru,zhuanhuan,A_a;
cin>>shuru;
if(shuru>='A'&&shuru<='Z')
   A_a='A';
else
   A_a='a';
for(int i=0;i<3;i++)
{
zhuanhuan=((shuru-1-A_a+26)%26+i)%26+A_a;
cout<<zhuanhuan;
}
return 0;
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
用户婠婠
2023-12-21
知道答主
回答量:2
采纳率:0%
帮助的人:277
展开全部
#include<iostream>

using namespace std;

int main()

{

char c;

cout << "输入一个大写字母,将打出另外两个与之相连的大写字母:";

cin >> c;

if (c > 65 && c < 90)

cout << char(int(c) - 1) << c << char(int(c) + 1) << endl;

else if (c == 65)

cout << "ZAB" << endl;

else

cout << "YZA" << endl;

return 0;

}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
智能视界陈工
2018-04-18
知道答主
回答量:2
采纳率:0%
帮助的人:1940
展开全部
#include<iostream>
using namespace std;
int main()
{
while (1)
{
char ch,ch1,ch2;//定义字符串
cin>>ch;
//下面一连串是判断azAZ等特殊情况的
if (ch == 'A' || ch=='a')
{
if(ch=='A')
{
ch1 = 'Z';
ch2 = 'B';
}
else
{
ch1='z';
ch2='b';
}
cout<<ch1<<ch<<ch2;
}
else if (ch == 'Z' || ch =='z')
{
if(ch=='Z')
{
ch1 = 'Y';
ch2 = 'A';
}
else
{
ch1='y';
ch2='a';
}
cout<<ch1<<ch<<ch2;
}
else
{
--ch;
for(int n=1;n<=3;n++)
//依次递增字符[字母]ascll码
{
cout<<ch;
ch++;
//字符自增
}
}

cout<<'\n';//换行符
}
return 0;
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 2条折叠回答
收起 更多回答(4)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式