电文译成密码

有一行电文,已经按照如下规则译成了密码:
A->Z a->z
B->Y b->y
C->X c->x
… …
… …
即第1个字母变换成第26个字母,第i个字母变换成第(26-i+1)个字母。非字母字符不变。给定一段密码,请将其译成原文并输出。


【输入形式】

一行密码,包含各种可见字符,保证长度不超过100。


【输出形式】

如题目描述中密码翻译规则译出的原文。
请注意行尾输出换行。


【样例输入】

R zn z kiltizn.


【样例输出】 

I am a program.
#include<stdio.h>
int main()
{
	int i,sum=0;
	char a[100];
	gets(a);
	for(i=0;i<100;i++)
	{
		if(a[i]<='Z'&&a[i]>='A')
		{
			a[i]='A'+'Z'-a[i];	
		}
		if(a[i]<='z'&&a[i]>='a')
		{
			a[i]='a'+'z'-a[i];
		}
	}
	printf("%s",a);
}

 

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
C语言编程可以通过使用字符数组和条件语句来将一行电文译成密码。根据给定的规律,可以按照以下步骤进行编程实现: 1. 创建一个字符数组来存储电文和密码。 2. 使用循环遍历电文中的每个字符。 3. 对于每个字符,使用条件语句判断其类型并进行相应的转换: - 如果是小写字母a到z之间的字符,将其转换为对应的密码字符。 - 如果是空格字符,将其转换为密码字符"j"。 - 其他字符保持不变。 4. 将转换后的密码字符存储到密码数组中。 5. 最后,输出密码数组即可得到译文。 下面是一个简单的C语言示例代码: ```c #include <stdio.h> void translateToPassword(char* text, char* password) { int i = 0; while (text[i] != '\0') { if (text[i] >= 'a' && text[i] <= 'z') { switch (text[i]) { case 'a': password[i] = '0'; break; case 'b': password[i] = '1'; break; case 'c': password[i] = '9'; break; case 'd': password[i] = 'a'; break; case 'e': password[i] = 'b'; break; case 'f': password[i] = 'c'; break; case 'g': password[i] = 'd'; break; case 'h': password[i] = 'e'; break; case 'i': password[i] = 'f'; break; case 'j': password[i] = '@'; break; case 'k': password[i] = '#'; break; case 'l': password[i] = '$'; break; case 'm': password[i] = '%'; break; case 'n': password[i] = '&'; break; case 'o': password[i] = '!'; break; case 'p': password[i] = '*'; break; default: break; } } else if (text[i] == ' ') { password[i] = 'j'; } else { password[i] = text[i]; } i++; } password[i] = '\0'; // 添加字符串结束符 } int main() { char text[100]; char password[100]; printf("请输入电文:"); fgets(text, sizeof(text), stdin); translateToPassword(text, password); printf("密码为:%s\n", password); return 0; } ``` 请注意,上述代码仅为示例,可能还需要根据实际需求进行修改和完善。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值