加密程序代码:
#include<stdio.h>
main()
{
char
c,filename[20]
FILE
*fp1,*fp2
scanf("%s",filename)
fp1=fopen(filename,"r")
fp2=fopen("miwen.txt","w")
do
{
c=fgetc(fp1)
if(c>=32&&c<=126)
{
c=c-32
c=126-c
}
if(c!=-1)
fprintf(fp2,"%c",c)
}
while(c!=-1)
}
解密程序代码:
#include<stdio.h>
#include<string.h>
main()
{
char
c,filename[20]
char
yanzhengma[20]
FILE
*fp1,*fp2
printf("请输入待解密文件名:\n")
scanf("%s",filename)
printf("请输入验证码:\n")
scanf("%s",yanzhengma)
if(strcmp(yanzhengma,"shan")==0)
{
fp1=fopen(filename,"r")
fp2=fopen("yuanwen.txt","w")
do
{
c=fgetc(fp1)
if(c>=32&&c<=126)
{
c=126-c
c=32+c
}
if(c!=-1)
fprintf(fp2,"%c",c)
}
while(c!=-1)
}
else
{
printf("验证码错误!请重新输入:\n")
scanf("%s",filename)
}
}
#include <stdio.h>#include <conio.h>
#include <string.h>
#include <dos.h>
void main()
{
int i=0,j
char str1[10],str2[10]="123456"
while(1)
{
printf("\n请输入6位密码,按Enter键结束: ")
j=0
while ((str1[j]=getch()))
{
printf("%c", '*')
j++
if(j==6) break
}
str1[j]=0
if(j>0 &&strcmp(str1,str2)==0)
{
printf("\n密码正确!\n")
break
}
else if(i<2) printf("\n输入有错误,还有 %d 次机会\n",2-i)
i++
if(i>=3)
{
i=0
sleep(180)
}
}
}
调了半天,楼主真是太粗心了!middle1[]应该这样声明:char middle1[]={'A','B','C','D','E','F','G','H','I','J','K','L','M','N','O','P','Q','R','S','T','U','V','W','X','Y','Z'}
最后输出start的时候要注意控制长度,改个for循环就好了!
#include<stdio.h>
#include<string.h>
int main(void)
{
int i,j,length,n
char temp
char middle2[27]
char start[201],finish[201]
char middle1[]={'A','B','C','D','E','F','G','H','I','J','K','L','M','N','O','P','Q','R','S','T','U','V','W','X','Y','Z'}
gets(middle2)
gets(finish)
scanf("%d",&n)
length=strlen(finish)
for(i=0i<25i++)
{
for(j=i+1j<26j++)
{
if(middle2[i]>middle2[j])
{
temp=middle2[i]
middle2[i]=middle2[j]
middle2[j]=temp
temp=middle1[i]
middle1[i]=middle1[j]
middle1[j]=temp
}
}
}
for(i=1i<=ni++)
{
for(j=0j<lengthj++)
{
if(finish[j]==' ')
{
start[j]=' '
}
else
{
start[j]=middle1[finish[j]-'A']
}
}
}
for( i = 0i <length++i)
printf("%c",start[i])
printf("\n")
return 0
}
/*
ABCDEFGHIJKLMNOPQRSTUVWXYZ
*/
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)