密码问题,vc下很多BUG
#include<stdio.h>#include<string.h>
file*fi;
main()
{char xu,a,xx[1000],mm[100],out[100][100];
int i,j,k,n,mylen,b[100];
for(i=0;i<100;i++)
for(j=0;j<100;j++)
out[i][j]=1;
if(fi=fopen("in.dat","r")==null)
{printf("can open int.dat\n");exit(1);}
i=0;
a=fgetc(fi);
while(a!=EOF)
{xx[i]=a;
i++;
a=fgetc(fi);
}
xx[i]='\0';
fclose(fi);
if(fi=fopen("miyao.dat","r")==null)
{printf("can open int.dat\n");exit(1);}
i=0;
a=fgetc(fi);
while(a!=EOF)
{mm[i]=a;
i++;
a=fgetc(fi);
}
fi='\0';
fclose(fi);
for(i=0;i<1000&&xx[i]!='\0';i++)
if(xx[i]>='a'&&xx[i]<='z')
xx[i]=xx[i]-32;
for(j=0;j<1000&&xx[j]!='\0';j++)
if(xx[i]<=65)
xx[j]=xx[j+1];
k=0;mylen=strlen(mm);
for(i=0;i<100&&xx[i]!='\0';i++)
for(j=0;j<=mylen;j++)
out[i][j]=xx[k];
for(j=0;j<100;j++)
{xu=mm[j];
k=0;
for(;j<100&&mm[j]!='\0';j++)
{if(xu>mm[j])
{xu=mm[j];
k=j;}}
mm[k]=127;
b[k]=i;}
b[i]=1000;
encrypt (mylen,b,out);
}
void encrypt (int mylen,int *b,char *out);
FILE*fi;
{int i,j,k,n;
if((fi=open("out.dat","w"))==null
{printf("out.dat error");exit(1);}
for(j=0;j<=mylen;j++)
{n=b[0];
for(k=0;k<mylen;k++)
if(n>b[k])
{n=b[k];i=k;}
k=i;b[k]=127;
for(i=0;i<100&&out[i][j]>1;i++)
{fput(out[i][j],fi);
printf("%c",out[i][j]);}}
fclose(fi);
}