问题及代码:
/*
题目描述
将一串文本译成密码,密码的规律是: 将原来的小写字母全部翻译成大写字母,大写字母全部翻译成小写字母,数字的翻译规律如下:
0——>9
1——>8
2——>7
3——>6
4——>5
5——>4
6——>3
7——>2
8——>1
9——>0
然后将所有字符的顺序颠倒。
输入
输入一串文本,最大字符个数不超过100。
输出
输出编码后的结果。
样例输入
china
样例输出
ANIHC
提示
*/
#include <iostream>
#include <cstdio>
using namespace std;
void change(char *str,int n)
{
int i=0;
char t;
for(i=0;i<(n+1)/2;i++)
{
t=str[i];
str[i]=str[n-i];
str[n-i]=t;
}
for(i=0;i<=n;i++)
{
if(str[i]>='a'&&str[i]<='z')
{
str[i]=str[i]-32;
}
else if (str[i]>='A'&&str[i]<='Z')
{
str[i]=str[i]+32;
}
else if(str[i]>='0'&&str[i]<='9')
{
str[i]=105-str[i];
}
}
}
int main()
{
char str1[100];
gets(str1);
int i=0,j=0;
while (str1[i]!='\0')
{
i++;
}
change(str1