‘壹’ C语言编程问题:从键盘上输入一个字符串按照以下规则对其加密。
#include<stdio.h>
#include<string.h>
intmain(){
inti;
chars[80];
printf("请输入字符串:");
while(scanf("%s",s)==1)
{
printf("加密前:%s ",s);
i=0;//i定义在此处便于第二次运行
while(s[i])
{if(s[i]>='A'&&s[i]<='Z')
s[i]=(s[i]-'A'+3)%26+'A';
elseif(s[i]>='a'&&s[i]<='z')
s[i]=(s[i]-'a'+3)%26+'a';
++i;}
printf("加密后:%s ",s);
printf("请输入字符串[<Ctrl+Z><ENTER>结束程序]:");
}
return0;
}
‘贰’ 用java,从键盘输入一个字符串,然后输出该字符加密后的结果。
Map<String, Integer> map1 = new HashMap<String, Integer>();
String[] a1 =
new String[]{"a","b","c","d","e","f","g","h","i","j","k","l","m","n","o","p","q","r","s","t","u","v","w","x","y","z"};
for(int i=0;i<a1.length;i++){
map1.put(a1[i],i);
}
System.out.println(a1[a1.length-(map1.get("b"岩芹)+1)]);
我用差毁java写的 不明白再Q我吧 381363902
刚刚写了 map1.get("b") "b"就粗庆毕是你要输入的字符
要是输入多的话就循环呗
‘叁’ 由键盘任意输入一串字符,对其进行加密,加密原则为:如果为字母,将其循环右移2个字母,其他字符保持不
输入:一串字符 输出:加密后的字符串 输入样例:abl2CDxyz 输出样例:cdl2EFzab提示: 1. 可用gets()和puts()输入输出字符串。 2. 利用ASCII码运算进行加密。 3. 循环右移的含义是:将a-z,A-Z各看成一个环进行移动,即y右移2个字母后为a,z右移2个字母后为b;Y右移2个字母后为A,Z右移2个字母后为B。
‘肆’ 从键盘上输入一个字符串存放在一个字符数组中,按以下规则加密:所有的大写英文字母加3,小写英文字母减
int main()
{
char str1[50],str2[50];
printf("好乎请输入字符串中或:|n"友培悉);
gets(str1);
for(int i=0;str1[1]='\0';i++)
{
if(str1[i]>='a'&&str1[i]<='z')
str1[i]=str1[i]-4;
if(str1[i]>='A'&&str1[i]<='Z')
str1[i]=str1[i]+3;
str2[i]=str1[i];
}
printf("原字符串为:");
puts(str1);
printf("加密后字符串为:");
puts(str2);
return 0;
}
‘伍’ 从键盘输入一个字符,对该字符进行加密处理输出,规则是将其转换为对应的ASCII码加2之后对应的字符
#include<stdio.h>
main(){
charch;
ch=getchar();
ch+=2;
putchar(ch);
}
‘陆’ 用JAVA编程!从键盘输入一个字母,输出这个字母的加密结果,加密操作:将字母变成倒序的字母,如把a变成z。
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
public class ChangeLetter {
public static void main(String[] args) {
String outputStr = ""氏银毁;
System.out.print("请输入字母:");
//从键盘输入字母
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
try {
//读取行,赋值给inputStr
String inputStr = br.readLine();
for(int i=0;i<inputStr.length();i++){
//将转换后的字符连接成字符串输出
outputStr = outputStr + changeLetter(inputStr.charAt(i));
}
} catch (IOException e) {
e.printStackTrace();
}
System.out.println(outputStr);
}
public static char changeLetter(char c){
//用于后搏大台打印,知道Unicode码
/*Integer num1 = 'A';
Integer num2 = 'Z';
Integer num3 = 'a';
Integer num4 = '歼备z';
System.out.println(num1);
System.out.println(num2);
System.out.println(num3);
System.out.println(num4);*/
//unicode码
//A值为65
//Z值为90
//a值为97
//b值为122
int letter = c;
char character = 0;
if(c>=65&&c<=90){
//比如输入B,则运算步骤如下:
//90-(66-65)=89,89转换成字符则为Y
//以下小写的同理
character = (char)(90-(letter-65));
}
if(c>=97&&c<=122){
character = (char)(122-(letter-97));
}
return character;
}
}
运行结果:
请输入字母:ABCXYZabcxyz
ZYXCBAzyxcba
‘柒’ 5. 编程实现从键盘上输入一串字符,将其加密后输出,直到输入一个“#”结束。
main()
{ char c, int i;
scanf( " %c"闭辩尺 , &c);
while ( c !='#' )
{
scanf( "灶橡 %c" , &c);
if ( c >= 'a' && c <= 'w' || c>= 'A' && c <= 'W' ) c= c + 3;
elsif ( c > '轿高w' && c <='z' || c> 'W' && c <= 'Z' ) c=c-23;
elsif ( c<='9' && c>='0' ) c=c+2;
else c=c;
printf( "%c",c);
}
pritf("\n");
}
‘捌’ 从键盘上输入一个字符串存放在一个字符数组中,按照以下规则对其加密:
#include<string.h>
void main()
{int i,j;
char s[30]="Microsoft Visual C++",s1[30];
for(i=0;i<=strlen(s);i++)
if(s[i]>='A'&&s[i]<='Z')s1[i]=s[i]+3;
肢悉else if(s[i]>='a'&&s[i]<='宏饥腊z')s1[i]=s[i]-4;
蔽滑 else s1[i]=s[i];
puts(s);
puts(s1);
system("PAUSE");
}
‘玖’ 手机键盘加密方式
一、直接数字表示法:即两个数字一组,第一个表示键盘上的某个键,第二个表示该键上的第几个字母。例:“53638332”表示的就是“LOVE”四个字母。特征(只考虑单层,下同):有偶数个数字,其中偶数位的数字在1至4浮动,不含有0。
二、 键盘坐标加密法:在键盘上以456为轴258为轴建系,密文中每个字符用一个角度和一个数字表示,角度表示键盘上的键,数字表示该键上的第几个字母。 例:“180'1 0'3 45'1”即表示“GOD”。说明:若想表示5上的字母(JKL)可用135'表示,因为1上不含任何字母。特征:比较明显… 一般前个数字是45的整数倍,后个数字在1到4浮动。
三、智能拼音按键法:最简单的一种了,直接在手机上输入密文,出现的中文即为明文。领:“PGMWGM”即为“拼音”。
四、键盘形象法:即在手机键盘上画出要加密的字母,然后按顺序写出画改字母时经过的数字。例:“3214789”表示“C”。特征:连着的数字较多(指手机上按键连着),如147.456等。
五、键盘坐标轴法(仿垂直原创):以123为Y轴,147为X轴,密文中每两个数字为一组,前一个代表行数,后一个代表该行的第几个。(第三行有十一个字 母,表示起来较不方便,所以将S和Z当作第四行,即41代表S,42代表Z)例:“26293716”代表“LOVE”。特征:数字为偶数个,且不含有 0,奇数在1到4浮动(4后只出现1或2)。
六、对称替换法:在每个按键中做对称,即第一个字母换成最后一个,中间一个字母不变。例:“OGOCBCQ”即为“MIMABAR”。特征:貌似没有很明显的特征,不过“BEHKNU”这几个字母加密后是不会改变的
七、字母位置描述法:用三个数字表示一个字母,第一个数字表示行数,第二个表示键数,第三个表示该键上的第几个字母。例:“223.233.323.132”即代表“LOVE”。特征:所有数字在1到4浮动,总个数为3的倍数。
八、非智能字母输入加密法:就是在手机中用非智能输入法时输入字母时用的方法(智能输入的方法见“三”)。例:“3327777999”即代表“EASY”。特征:数字重复连续出现,且不含有0和1。
‘拾’ 从键盘输入一个字符做加密字符,再输入一个字符串用于加密。把要进行加密的字符串和字符进行按位异或。
#include<string.h>
void main()
{int i,j;
char s[30]="Microsoft Visual C++",s1[30];
for(i=0;i<=strlen(s);i++)
if(s[i]>='A'&&s[i]<拿掘='Z')s1[i]=s[i]+3;
else if(s[i]>='a'&&s[i]<='者老z')s1[i]=s[i]-4;
else s1[i]=s[i];
puts(s);
puts(s1);
system("消嫌核PAUSE");
}