Ejemplo 66: Hay una línea de texto, que se ha traducido a una contraseña de acuerdo con las siguientes reglas: A-> Z a-> z; B-> Y b-> y; es decir, la primera letra se convierte en la 26. letra, y la i-ésima letra se convierte en la (26-i + 1) ésima letra, los caracteres que no son letras permanecen sin cambios. Se requiere programación en lenguaje C para traducir la contraseña al texto original y generar la contraseña y el texto original.
Análisis: puede definir una matriz ch para almacenar mensajes en ella. Si el carácter ch [j] es una letra mayúscula, es la (ch [j] -64) ésima letra mayúscula entre las 26 letras. Debido a que la contraseña se convierte simétricamente, la primera letra se convierte en la última letra, La última uno se convierte a la primera letra, por lo que la traducción del original a la contraseña y la traducción de la contraseña al original son la misma fórmula.
Demostración del código fuente:
#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
}
Los resultados de la compilación y ejecución son los siguientes:
输入密码:
C yuyan
密码是:
C yuyan
输出原文:
X bfbzm
--------------------------------
Process exited after 9.542 seconds with return value 0
请按任意键继续. . .
Arriba, si lo ves y crees que es útil para ti, dale a Xiaolin un pulgar hacia arriba y compártelo con las personas que lo rodean, para que Xiaolin también tenga la motivación para actualizar, gracias padres y aldeanos ~
El lenguaje C traduce la contraseña al texto original y genera la contraseña y el texto original.
Más casos pueden ir a la cuenta pública: entrada de lenguaje C a competente