C语言:输入一字符串存入字符数组,将其中小写英文字母用后面第三个代替(循环代替),大写英文字母用前

C语言:输入一字符串存入字符数组,将其中小写英文字母用后面第三个代替(循环代替),大写英文字母用前面第三个代替(循环代替),其余字符不变,输出新的字符串。... C语言:输入一字符串存入字符数组,将其中小写英文字母用后面第三个代替(循环代替),大写英文字母用前面第三个代替(循环代替),其余字符不变,输出新的字符串。 展开
 我来答
piestkj
推荐于2018-04-14 · TA获得超过928个赞
知道小有建树答主
回答量:820
采纳率:0%
帮助的人:611万
展开全部
#include <stdio.h>
#include <ctype.h>
int main(void) {
    char str[100], *c;
    printf("Input a string: ");
    gets(str);
    for (c = str; *c; c++) {
        if (islower(*c)) {
            if (*c >= 'x') *c -= 23;
            else *c += 3;
        } else if (islower(*c)) {
            if (*c <= 'C') *c += 23;
            else *c -= 3;
        }
    }
    puts(str);
    return 0;
}
/* 不符合题目要求,但仍然管用 */
#include <stdio.h>
char lower_case[] = "defghijklmnopqrstuvwxyzabc";
char upper_case[] = "XYZABCDEFGHIJKLMNOPQRSTUVW";
int main(void) {
    int c;
    printf("Input a string: ");
    while ((c = getchar()) != '\n') {
        if ((c >= 'a') && (c < 'z'))
            c = lower_case[c - 'a'];
        else if ((c >= 'A') && (c <= 'Z'))
            c = upper_case[c - 'A'];
        putchar(c);
    }
    return 0;
}
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式