c++ 帮忙编个小程序~~
问题是这样的:现有26个字母A-Z,要求编写一段程序,实现每个字母向后推移n位。例如:输入单词“TEST”以及整数n=2,则输出单词“VGUV”。拜托各位大侠啦,急需啊!...
问题是这样的:现有26个字母A-Z,要求编写一段程序,实现每个字母向后推移n位。例如:输入单词“TEST”以及整数n=2,则输出单词“VGUV”。
拜托各位大侠啦,急需啊!!
我要输入的是一个单词不是一个字母。。。 展开
拜托各位大侠啦,急需啊!!
我要输入的是一个单词不是一个字母。。。 展开
2个回答
展开全部
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;
}
{
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;
}
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询