你是想要输入8位密码,然后把它翻译为向前两位吧~
A变C,B变D......Y变A,Z变B~
#include<stdio.h>
void main()
{
int c = 0;
char cLine[] = "ABCDEFGHIJKLMNOPQRSTUVWXYZ"; //这句话没引用过...可以删
char cAimline[8] = "0000"; //要初始化直接"0",后面数组的数,系统直接默认0
s: printf("请输入您需要加密的密码:\n");
for (c=0;c<7;c++) //你要8位的密码,那7就改成8,或者c<=7
{
scanf_s("%c",&cAimline[c]); //直接用scanf
if ((cAimline[c]<'A') || (cAimline[c]>'Z'))
{
printf("你输入的字符有错误\n");
goto s;
}
}
for (c=0;c<7;c++) //这句也没用,前面的循环语句已经确定了没有错误才接着运行这句循环语句,所以这句没用了
{
if ((cAimline[c]<'A') || (cAimline[c]>'Z'))
{
printf("你输入的第%d字符有错误\n",c+1);
}
}
for (c = 0; c < 7; c++) //你要8位的密码,那7就改成8,或者c<=7
{
if ((cAimline[c] != 'Y') && (cAimline[c] != 'Z'))
{
cAimline[c] = cAimline[c] + 2;
}
else
{
if (cAimline[c] = 'Y')
{
cAimline[c] = 'A';
}
else
{
cAimline[c] = 'B';
}
}
}
printf("您获得的密令如下:\n");
for (c = 0; c < 7; c++) //你要8位的密码,那7就改成8,或者c<=7
{
printf("%c",cAimline[c]);
}
printf("\n");
}
|