9键26键键盘密码 加密解密脚本
#include<stdio.h> #include<string.h> char key[10][5]={"","","abc","def","ghi","jkl","mno","pqrs","tuv","wxyz"}; char keyboard[11]="qwertyuiop"; int encode(char a[]){ for(int i=0;i<strlen(a);i++){ for(int j=2;j<=9;j++){ for(int k=0;k<strlen(key[j]);k++){ if(a[i]==key[j][k]){ for(int l =0;l<=k;l++){ printf("%c",keyboard[j-1]); } printf(" "); break; } } } } } int decode(char a[]){ int i=0; char c[26][5]={"w","ww","www","e","ee","eee","r","rr","rrr","t","tt","ttt","y","yy","yyy","u","uu","uuu","uuuu","i","ii","iii","o","oo","ooo","oooo"}; while(i<strlen(a)){ char b[5]={'\0','\0','\0','\0','\0'}; int o=0; while(a[i]!=' '){ b[o]=a[i]; i++; o++; } for(int j=0;j<26;j++){ if(!strncmp(b,c[j],strlen(b)+1)){ printf("%c",'a'+j); break; } } i++; } } int main(){ char input[1000]; char choice; printf("0:encode\n1:decode\n"); scanf("%d\n",&choice); if(choice==0){ gets(input); encode(input); } if(choice==1){ gets(input); input[strlen(input)]=' '; input[strlen(input)+1]='\0'; decode(input); } }
使用26键键盘的最上面一行的英文字母分别映射到九键键盘
字母重复次数为9键键盘的第几个字母