- UID
- 36982
注册时间2007-11-4
阅读权限50
最后登录1970-1-1
感悟天道
TA的每日心情 | 无聊 2023-11-16 16:09 |
---|
签到天数: 821 天 [LV.10]以坛为家III
|
发表于 2009-6-13 20:04:27
|
显示全部楼层
我之前看了教程,然后现在自己再写了一个。发现这个程序还有bug。如图:
然后我再修改了一下,代码如下:
#include "stdio.h"
#include "math.h"
void Jiami(char * str,int n)
{
while(*str)
{
if(*str<='Z' && *str>='A') {*str++=(*str-'A'+n+(abs(n)/26+1)*26)%26+'A';continue;}
if(*str<='z' && *str>='a') {*str++=(*str-'a'+n+(abs(n)/26+1)*26)%26+'a';continue;}
str++;
}
}
void Jiemi(char * str,int n)
{
Jiami(str,-(n%26));
}
void main()
{
int n;
char str[100];
printf("请输入你要加密的字符串:");
gets(str);
printf("你输入的字母需要向后移多少位:");
scanf("%d",&n);
Jiami(str,n);
printf("加密后的结果为:");
puts(str);
Jiemi(str,n);
printf("解密后的结果为:");
puts(str);
}
[ 本帖最后由 qqlinhai 于 2009-6-13 20:32 编辑 ] |
|