📄 vigana.cpp
字号:
#include<stdio.h>
int i,j,k,p[128][20],m[20];
char c,nams[20],namd[20],e[20];
FILE *fds,*fdd;
main()
{ printf("\nplease input the keylen!\n");
scanf("%d",&k);
printf("\nplease input the source file name\n");
scanf("%s",nams);
printf("\nplease input the dest file name\n");
scanf("%s",namd);
fds=fopen(nams,"r");
fdd=fopen(namd,"w");
for(c=fgetc(fds);c!=EOF;c=fgetc(fds))
if((c>='a')&&(c<='z')||(c>='A')&&(c<='Z'))
{ p[c][j]++;
j++;
j%=k;
}
for(j=0;j<k;j++)
for(c='a';c<='z';c++)
if(m[j]<p[c][j]+p[c-32][j])
{ m[j]=p[c][j]+p[c-32][j];
e[j]=c;
}
fseek(fds,0,0);
for(j=0,c=fgetc(fds);c!=EOF;fputc(c,fdd),c=fgetc(fds))
{ if((c>='a')&&(c<='z'))
{ c+='e'-e[j];
if(c>'z') c-=26;
if(c<'a') c+=26;
j++;
j%=k;
}
if((c>='A')&&(c<='Z'))
{ c+='e'-e[j];
if(c>'Z') c-=26;
if(c<'A') c+=26;
j++;
j%=k;
}
}
fclose(fds);
fclose(fdd);
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -