zoukankan      html  css  js  c++  java
  • 九度OJ题目1105:字符串的反码

    tips:scanf,cin输入字符串遇到空格就停止,所以想输入一行字符并保留最后的“”还是用gets()函数比较好,九度OJ真操蛋,true?没有这个关键字,还是用1吧,还是VS太智能了,尼玛,还是用VC吧

    题目描述:

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

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

    输入:

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

    输出:

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

    样例输入:
    Hello 
    JLU-CCST-2011 
    !
    样例输出:
    Svool 
    QOF-XXHG-2011
    #include<stdio.h>
    #include<string.h>
    int main()
    {
    	char s1[80];
    	int m='a'+'z',n='A'+'Z';
    	while(1)
    	{
    		gets(s1);
    		if(strcmp(s1,"!")==0)
    			return 0;
    		char *p=&s1[0];
    		while(*p!='')
    		{
    			if(*p>='a'&&*p<='z')
    				printf("%c",m-*p);
    			else if(*p>='A'&&*p<='Z')
    				printf("%c",n-*p);
    			else
    				printf("%c",*p);
    			p++;
    		}
    		printf("
    ");
    	}
    	return 0;
    }


    极简,专注,速度,极致
  • 相关阅读:
    VS2010导入DLL的总结
    [转]C#事件简单示例
    VS2010中实现TreeView和Panel的动态更新
    【JZOJ1282】打工
    【NOIP2016提高A组五校联考2】tree
    【NOIP2016提高A组五校联考2】running
    【NOIP2016提高A组五校联考2】string
    8月~9月学习总结
    NOIP2016提高A组五校联考2总结
    NOIP2016提高A组五校联考1总结
  • 原文地址:https://www.cnblogs.com/simplelifestyle/p/3761905.html
Copyright © 2011-2022 走看看