大一期末考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;
}