69,371
社区成员
发帖
与我相关
我的任务
分享
#include <stdio.h>
void main()
{
unsigned char a[100]; //定义为无符号,不然'z'+i很容易大于128,变成负数,后面的if都没用了
unsigned char *p, *q;
int i;
q = p=a;
printf("请输入要加密的文件:\n");
scanf("%[^\n]", a);
printf("请输入要加密的密钥长度:");
scanf("%d",&i);
if(i>26)
{
i%=26;
}
while(*p!='\0')
{
if((*p>='a')&&(*p <='z'))
{
// q = p;
*p=*p+i;
// p = q;
if(*p>'z')
{
*p=*p-26;
}
}
if((*p>='A')&&(*p <='Z'))
{
*p=*p+i;
if(*p>'Z')
{
*p=*p-26;
}
}
p++;
}
printf("加密结果为:\n");
printf("%s\n",a);
}
#include <stdio.h>
void main()
{
unsigned char a[100]; //定义为无符号,不然'z'+i很容易大于128,变成负数,后面的if都没用了
unsigned char *p, *q;
int i;
q = p=a;
printf("请输入要加密的文件:\n");
scanf("%[^\n]", a);
printf("请输入要加密的密钥长度:");
scanf("%d",&i);
if(i>26)
{
i%=26;
}
while(*p!='\0')
{
if((*p>='a')&&(*p <='z'))
{
// q = p;
*p=*p+i;
// p = q;
if(*p>'z')
{
*p=*p-26;
}
}
if((*p>='A')&&(*p <='Z'))
{
*p=*p+i;
if(*p>'Z')
{
*p=*p-26;
}
}
p++;
}
printf("加密结果为:\n");
printf("%s\n",a);
}