这个题目很简单,应该刚学C语言的都遇到过这种字母转换的。
这里需要注意的是要接收一个包含空格的字符串,还要接的接收回车符。
很简单,代码如下:
#include <iostream>
using namespace std;
void change(char *str, int length){
for (int i = 0; i < length; i++)
{
if (str[i] >= 'A' && str[i] <= 'Z')
{
str[i] = (str[i] - 44) % 26 + 65;
}
printf("%c", str[i]);
}
printf("\n");
}
int main()
{
char s[11];
char str[1000];
int j = 0;
for (int i = 0;; i++)
{
scanf("%s", &s);
getchar();
if (strcmp(s, "ENDOFINPUT") == 0){
break;
}
j = 0;
memset(str, '\0', 1000 * sizeof(char));
while ((str[j] = getchar()) != '\n'){
j++;
}
change(str, j);
scanf("%s", &s);
getchar();
}
return 0;
}