C言語|パスワードを元のテキストに翻訳し直し、パスワードと元のテキストを出力します

例66:次のルールに従ってパスワードに変換されたテキスト行があります:A-> Z a-> z; B-> Y b-> y;つまり、最初の文字が26番目になります文字であり、i番目の文字が(26-i + 1)番目の文字になり、文字以外の文字は変更されません。パスワードを元のテキストに翻訳し直し、パスワードと元のテキストを出力するには、C言語プログラミングが必要です。

分析:メッセージを格納する配列chを定義できます。文字ch [j]が大文字の場合、26文字のうち(ch [j] -64)番目の大文字です。パスワードは対称的に変換されるため、最初の文字は最後の文字に変換されます。 1つは最初の文字に変換されるため、元の文字からパスワードへの変換とパスワードから元の文字への変換は同じ式になります。

ソースコードのデモ:

#include<stdio.h>//头文件 
int main()//主函数 
{
    
    
  int j,n;//定义整型变量 
  char ch[80],tran[80];//定义字符数组 
  printf("输入密码:\n");//提示语句 
  gets(ch);//键盘输入 
  printf("\n密码是:\n%s",ch);//密码 
  j=0;//赋初值 
  while(ch[j]!='\0')//不是最后一个字符时 
  {
    
     
    if((ch[j]>='A')&&(ch[j]<='Z'))//ASCII中A对应的值是65,a对应的值是97 
    {
    
    
      tran[j]=155-ch[j];
    }
    else if((ch[j]>='a')&&(ch[j]<='z'))//小写 
    {
    
    
      tran[j]=219-ch[j];
    }
    else
    {
    
    
      tran[j]=ch[j];
    }
    j++;
  }
  n=j;
  printf("\n输出原文:\n");//提示语句 
  for(j=0;j<n;j++)//遍历输出 
  {
    
     
    putchar(tran[j]);
  } 
  printf("\n");//换行 
  return 0;//函数返回值为0 
}

コンパイルと実行の結果は次のとおりです。

输入密码:
C yuyan

密码是:
C yuyan
输出原文:
X bfbzm

--------------------------------
Process exited after 9.542 seconds with return value 0
请按任意键继续. . .

上記で、それを見て、それがあなたに役立つと思うなら、Xiaolinに親指を立てて、周りの人々と共有してください。そうすれば、Xiaolinも更新する動機を持ちます。お父さんと村人に感謝します〜

C言語はパスワードを元のテキストに変換し直し、パスワードと元のテキストを出力します。
より多くの場合はパブリックアカウントに移動できます:C言語の入力から熟練者へ

おすすめ

転載: blog.csdn.net/weixin_48669767/article/details/112959850