c语言密码加密问题

大一期末考c语言经典题目:

现应客户要求设计密码加密程序,需要完成以下的功能:

a.提升用户输入并存储一个8个元素的字符串(只限数字字符)

b.对原密码进行转换,其中转换规则:

‘1’->‘n’, ‘2’->‘w’, ‘3’->‘h’, ‘4’->‘o’, ‘5’->‘V’, ‘6’->‘X’, ‘7’->‘S’, ‘8’->‘G’, ‘9’->‘L’, ‘0’->‘!’

c.对转换后的密码进行逆序转换重新排列,输出加密后的密码。

编程实现:

#include<stdio.h>

//将密码逆序转换

void reverse(char *left,char *right)
{
	while (left<right)
	{
		char tmp=0;
		tmp=*left;
		*left=*right;
		*right=tmp;
		left++;
		right--;
	}
} 

int main()
{
	char code[len];
	printf("请输入一个含八个数字的字符串\n"); 
	scanf("%s",code);
	for (int i=0;i<8;i++)
	{
		switch (code[i])
		{
			case'1':code[i]='n';break;
			case'2':code[i]='w';break;
			case'3':code[i]='h';break;
			case'4':code[i]='o';break;
			case'5':code[i]='V';break;
			case'6':code[i]='X';break;
			case'7':code[i]='S';break;
			case'8':code[i]='G';break;
			case'9':code[i]='L';break;
			case'0':code[i]='!';break;	
			default:printf("输入错误"); 
		}
	}
    printf("转换前的密码:\n");
	printf("%s\n",code); 
	reverse(code,code+len-1); 
    printf("转换后的密码:\n");
	printf("%s\n",code); 
	return 0;
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值