C 字符串的反码(九度OJ 1105)
2016-09-16 14:30
183 查看
题目描述:
一个二进制数,将其每一位取反,称之为这个数的反码。下面我们定义一个字符的反码。如果这是一个小写字符,则它和字符'a’的距离与它的反码和字符'z’的距离相同;如果是一个大写字符,则它和字符'A’的距离与它的反码和字符'Z’的距离相同;如果不是上面两种情况,它的反码就是它自身。
举几个例子,'a’的反码是'z’;'c’的反码是'x’;'W’的反码是'D’;'1’的反码还是'1’;'$'的反码还是'$'。
一个字符串的反码定义为其所有字符的反码。我们的任务就是计算出给定字符串的反码。
输入:
输入每行都是一个字符串,字符串长度不超过 80 个字符。如果输入只有!,表示输入结束,不需要处理。
输出:
对于输入的每个字符串,输出其反码,每个数据占一行。
样例输入:
样例输出:
源代码:
另:for内循环另一种写法:
for(i=0;i<strlength(str);i++)
{
if(str[i]>='A'&&str[i]<='Z')
str[i]='Z'-(str[i]-'A');
if(str[i]>='a'&&str[i]<='z')
str[i]='z'-(str[i]-'a');
}
程序截图:
一个二进制数,将其每一位取反,称之为这个数的反码。下面我们定义一个字符的反码。如果这是一个小写字符,则它和字符'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 strlength(char *str) { int i=0,length=0; while(str[i]!='\0') { i++; length++; } return length; } int main() { int i; char str[80]; while(gets(str)) { if(strlength(str)==1 && str[0]=='!') break; for(i=0;i<strlength(str);i++) //反码问题转化为对应ASCII码加减问题 { if(str[i]>='A'&&str[i]<='Z') //str[i]=78+(77-str[i]) str[i]=155-str[i]; if(str[i]>='a'&&str[i]<='z') //str[i]=110+(109-str[i]) str[i]=219-str[i]; } puts(str); } return 0; }
另:for内循环另一种写法:
for(i=0;i<strlength(str);i++)
{
if(str[i]>='A'&&str[i]<='Z')
str[i]='Z'-(str[i]-'A');
if(str[i]>='a'&&str[i]<='z')
str[i]='z'-(str[i]-'a');
}
程序截图:
相关文章推荐
- 九度OJ-1105:字符串的反码
- 九度oj 题目1105:字符串的反码(string的操作)
- 九度OJ1105字符串的反码解题报告
- 九度OJ 1105:字符串的反码 (翻译)
- 九度OJ 1105:字符串的反码 (翻译)
- 九度1105 字符串的反码
- 九度 1105 - 字符串处理 - 字符串的反码
- 九度 1105 - 字符串处理 - 字符串的反码
- 九度[1105]-字符串的反码
- 【剑指Offer面试编程题】题目1508:把字符串转换成整数--九度OJ
- C 字符串内排序(九度OJ 1054)
- 题目1049:字符串去特定字符——九度OJ
- 【九度OJ】1168【字符串删除】【C实现】
- 【九度OJ】1490【字符串链接】【C实现】【哈工大2012】
- 九度OJ 1066 字符串排序
- 【剑指Offer面试编程题】题目1508:把字符串转换成整数--九度OJ
- 九度OJ 1121:首字母大写 (字符串处理)
- 九度 OJ 1049 字符串去特定字符
- 九度OJ 1260:珍珠项链 (字符串处理、DP)
- 九度OJ 1066 字符串排序