c++ 帮忙编个小程序~~

问题是这样的:现有26个字母A-Z,要求编写一段程序,实现每个字母向后推移n位。例如:输入单词“TEST”以及整数n=2,则输出单词“VGUV”。拜托各位大侠啦,急需啊!... 问题是这样的:现有26个字母A-Z,要求编写一段程序,实现每个字母向后推移n位。例如:输入单词“TEST”以及整数n=2,则输出单词“VGUV”。
拜托各位大侠啦,急需啊!!
我要输入的是一个单词不是一个字母。。。
展开
 我来答
wrgljylys
2010-06-15 · TA获得超过389个赞
知道小有建树答主
回答量:89
采纳率:0%
帮助的人:161万
展开全部
void Fun(char* str, int n)
{
char* p = str;

while(*p != '\0') // 循环处理字符串中每个元素
{
if(*p+n <= 'Z')
*p += n;

else // 加n后超出字母Z的情况,我不知道这种情况你需要怎么处理
*p = 'A' + *p + n - 'Z' -1; // 这里我把他以循环的方式把 A 接到 Z 的后面了

p++;
}
}

// 测试如下:

#include <iostream>
using namespace std;

int main()
{
char str[20];
int n;

cin >> str >> n;
cout << str << endl; // 变换前

Fun(str, n);
cout << str << endl; // 变换后

return 0;
}
英子91170405
2010-06-15 · TA获得超过208个赞
知道小有建树答主
回答量:130
采纳率:0%
帮助的人:103万
展开全部
太晚上,要睡觉了,就不写全,说下思路,在C++中,int和char是可以自动隐式类型转换的,直接给你个char的字符加n就可了。比如 char a='T';int b=2;a+=b;此时a=='V'
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式