【题意】:很普通的解码问题,所有的大写字母左移5位。注意A-E的移动是加21,其他的减5。
【代码:AC】
#include <iostream>
#include <iomanip>
#include <cstring>
#include <cstdlib>
#include <cstdio>
using namespace std;
#define MAX 200+10
int main()
{
char str[MAX];
while (gets(str))
{
int i = 0;
if (!strcmp(str, "START"))
{
gets(str);
for (i = 0; i < strlen(str); i++)
if (str[i] >= 'A' && str[i] <= 'Z')
{
if (str[i] <= 'E')
str[i] = str[i] + 21;
else
str[i] = str[i] - 5;
}
puts(str);
}
gets(str);
if (!strcmp(str, "END"))
continue;
else if (!strcmp(str, "ENDOFINPUT"));
break;
}
return 0;
}
解码大写字母左移5位的算法实现

本文介绍了一个简单的算法,用于将所有大写字母在字符串中左移5位。对于'A'到'E'之间的字母,通过加21来实现移动,而对于其他字母则通过减5来实现。通过示例代码演示了如何实现这一功能。
524

被折叠的 条评论
为什么被折叠?



