zoukankan      html  css  js  c++  java
  • 九度OJ 1105:字符串的反码 (翻译)

    时间限制:1 秒

    内存限制:32 兆

    特殊判题:

    提交:4929

    解决:1529

    题目描述:

        一个二进制数,将其每一位取反,称之为这个数的反码。下面我们定义一个字符的反码。如果这是一个小写字符,则它和字符'a’的距离与它的反码和字符'z’的距离相同;如果是一个大写字符,则它和字符'A’的距离与它的反码和字符'Z’的距离相同;如果不是上面两种情况,它的反码就是它自身。

        举几个例子,'a’的反码是'z’;'c’的反码是'x’;'W’的反码是'D’;'1’的反码还是'1’;'$'的反码还是'$'。
        一个字符串的反码定义为其所有字符的反码。我们的任务就是计算出给定字符串的反码。

    输入:

        输入每行都是一个字符串,字符串长度不超过 80 个字符。如果输入只有!,表示输入结束,不需要处理。

    输出:

    对于输入的每个字符串,输出其反码,每个数据占一行。

    样例输入:
    Hello 
    JLU-CCST-2011 
    !
    样例输出:
    Svool 
    QOF-XXHG-2011
    来源:
    2011年吉林大学计算机研究生机试真题

    思路:

    简单的翻译题。


    代码:

    #include <stdio.h>
    #include <ctype.h>
    #include <string.h>
     
    #define N 80
     
    void print(char c)
    {
        if (isupper(c))
            printf("%c", 'A'+'Z'-c);
        else if (islower(c))
            printf("%c", 'a'+'z'-c);
        else
            printf("%c", c);
    }
     
    int main(void)
    {
        int i;
        char s[N+1];
     
        while (gets(s) != EOF)
        {
            if (strcmp(s, "!") == 0)
                break;
     
            for(i=0; s[i]; i++)
                print(s[i]);
            printf("
    ");
        }
     
        return 0;
    }
    /**************************************************************
        Problem: 1105
        User: liangrx06
        Language: C
        Result: Accepted
        Time:0 ms
        Memory:912 kb
    ****************************************************************/
    


    编程算法爱好者。
  • 相关阅读:
    Storm 中drpc调用
    yarn下资源配置
    java 中 Stringbuff append源代码浅析
    总结的MR中连接操作
    hive中使用rcfile
    MapFile
    HDFS副本存放读取
    zoj 1967 Fiber Network/poj 2570
    zoj 2027 Travelling Fee
    poj 1742 Coins
  • 原文地址:https://www.cnblogs.com/liangrx06/p/5083927.html
Copyright © 2011-2022 走看看