作为刚学的小白,我可能会选择采取用switch的方式把字母的对应关系写出来,自从我学了字符串之后,我找到了一个新的表示方法。代码以及注释如下:
#include<stdio.h>
#include<string.h>
int main(void)
{
int n;char a[1000];int g[30];char s[30]="IUJTMFHXOKBQEAPZCDWRYNVSGL";//这是题目中给的“密码表”。scanf("%d",&n);for(int i=0;i<26;i++)g[s[i]-'A']=i;//密码表的字母对应的字母表的字母比如I--A ’I‘-’A‘=i是指字母表中第某个字母等于第I个字母.for(int i=1;i<=n;i++){
scanf("%s",a);for(int j=0;j<strlen(a);j++){
printf("%c",'A'+g[a[j]-'A']);}if(i!=n)printf("\n");//剩下的注意格式就可以了。}
}``