『壹』 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");
}