| 
 | 
 
 
 楼主 |
发表于 2020-5-30 15:27:28
|
显示全部楼层
 
 
 
- #include<stdio.h>
 
 - #include<string.h>
 
 - #include<ctype.h>
 
 - void change1(char *str1, char *str2);
 
 - void change2(char *str, char *str2, char *str3);
 
 - void duizhaobiao(char *str2, char *str3, char *contrast);
 
 - void change3(char *mingwen, char *upper_mingwen);
 
 - void change4(char *upper_mingwen,char *contrast, char *anwen);
 
 - void change5(char *anwen, char *true_anwen, char *mingwen);
 
 - int main()
 
 - {
 
 -         char str[]="ABCDEFGHIJKLMNOPQRSTUVWXYZ"; 
 
 -         char str1[50];//原密码
 
 -         char str2[50];//去掉空格和重复数字的密码
 
 -         char str3[50];//未出现的字母 
 
 -         char contrast[50]; 
 
 -         char mingwen[50];
 
 -         char upper_mingwen[50];
 
 -         char anwen[50]; 
 
 -         char true_anwen[50];
 
 -         printf("请输入密钥字(key word):");
 
 -         gets(str1); 
 
 -         change1(str1,str2);
 
 -         puts(str2);
 
 -         change2(str,str2,str3);
 
 -         puts(str3);
 
 -         duizhaobiao(str2,str3,contrast);
 
 -         puts(contrast);
 
 -         printf("请输入明文:");
 
 -         gets(mingwen);
 
 -         change3(mingwen,upper_mingwen); 
 
 -         puts(upper_mingwen);
 
 -         change4(upper_mingwen, contrast, anwen);
 
 -         puts(anwen);
 
 -         change5(anwen, true_anwen, mingwen);
 
 -         printf("正在生成暗文中...\n");
 
 -         puts(true_anwen);
 
 -         return 0;
 
 - }
 
 - void change1(char *str1, char *str2)
 
 - {
 
 -         int str1_length=50;
 
 -         int i,j;
 
 -         for(i=0;i<str1_length;i++){
 
 -                 for(j=0;j<str1_length;j++){
 
 -                         if(str1[i]==str1[j]&&i!=j){
 
 -                                 str1[j]=' ';
 
 -                         }
 
 -                 }
 
 -         }
 
 -         int cnt=0;
 
 -         for(i=0;i<str1_length;i++){
 
 -                 if(str1[i]!=' '){
 
 -                 str2[cnt]=str1[i];
 
 -                 cnt++;
 
 -                 }
 
 -                 
 
 -         }
 
 -         str2[cnt]='\0';
 
 - }
 
 - void change2(char *str, char *str2, char *str3)
 
 - {
 
 -         
 
 -         int i,j; 
 
 -         int k=0;
 
 -         for(i=0;i<27;i++){
 
 -                 for(j=0;str2[j]!='\0';j++){
 
 -                         if(str2[j]==str[i]){
 
 -                                 i++;
 
 -                         }
 
 -                 }
 
 -                 str3[k]=str[i]; k++;
 
 -         }
 
 - }
 
 - void duizhaobiao(char *str2, char *str3, char *contrast)
 
 - {
 
 -         int i,j;
 
 -         for(i=0;str2[i]!='\0';i++){
 
 -                 contrast[i]=str2[i];
 
 -         }
 
 -         for(j=0;str3[j]!='\0';j++,i++){
 
 -                 contrast[i]=str3[j]; 
 
 -         }
 
 -         str3[i]='\0';
 
 - }
 
 - void change3(char *mingwen, char *upper_mingwen)
 
 - {
 
 -         int i,j;
 
 -         for(i=0;mingwen[i]!='\0';i++){
 
 -                 if(mingwen[i]>='a'&&mingwen[i]<='z'){
 
 -                         upper_mingwen[i]=mingwen[i]-32;
 
 -                 }else{
 
 -                         upper_mingwen[i]=mingwen[i];
 
 -                 }
 
 -         }
 
 - }
 
 - void change4(char *upper_mingwen,char *contrast, char *anwen)
 
 - {
 
 -         int i,j,k;int t=0;
 
 -         for(i=0;upper_mingwen[i]!='\0';i++){
 
 -                 t=upper_mingwen[i];
 
 -                 t=t-65;
 
 -                 anwen[i]=contrast[t];
 
 -         }        
 
 -         anwen[i]='\0';
 
 - }
 
 - void change5(char *anwen, char *true_anwen, char *mingwen)
 
 - {
 
 -         int i;
 
 -         for(i=0;mingwen[i]!='\0';i++){
 
 -                 if(mingwen[i]>='a'&&mingwen[i]<='z'){
 
 -                         true_anwen[i]=tolower(anwen[i]);
 
 -                 }else{
 
 -                         true_anwen[i]=anwen[i];
 
 -                 }
 
 -         }
 
 -         true_anwen[i]='\0';
 
 - }
 
  复制代码 |   
 
 
 
 |