有一行電文,以按下面規律譯成密碼:A--->Z a--->z B--->Y b--->Y C--->X c--->x


有一行電文,以按下面規律譯成密碼:

A--->Z   a--->z
B--->Y   b--->Y
C--->X   c--->x
……

即第1個字母編程第26個字母,第i個字母編程第(26-i+1)個字母,非字母字符不變,要求編程序將密碼譯回原文,並輸出密碼和原文。

【答案解析】

從題目給的實例中可以看到,編碼規則非常簡單,就是將從前往后數的第i個字母轉化為從后往前數的第i個字母。

那解壓時直接反過來轉換即可:

即'Z'--->'A' 'z'--->'a'

​ 'Y'--->'B' 'y'--->'b'

​ 'X'--->'C' 'x'--->'c'

假設如果當前拿到的是小寫字母,轉換方式如下:

  1. 先用s[i] - 'a'計算出s[i]是26個字母中從前往后數的第幾個
  2. 再用26 - (s[i]- 'a') - 1 轉換為26個字母中從后往前數的第幾個
  3. 在2的結果上加上'a',即轉換為對應從后往前的第幾個字母

大寫字母轉換方式與上述相同,將上述每條中的'a'換為‘A’即可。

【代碼實現】

#include<stdio.h>
int main()
{
	char s[1024] = {0};
	scanf("%s", s);

	int len = strlen(s);
	// 轉換
	for (int i = 0; i < len; ++i)
	{
		// 如果是小寫字母(大寫字母出來類似):
		// 1. 先用s[i] - 'a'計算出s[i]是26個字母中從前往后數的第幾個
		// 2. 再用26 - (s[i]- 'a') - 1 轉換為26個字母中從后往前數的第幾個
		// 3. 在2的結果上加上'a',即轉換為對應從后往前的第幾個字母
		if (s[i] >= 'a' && s[i] <= 'z')
			s[i] = 'a' + 26 - (s[i]-'a')-1;
		else if (s[i] >= 'A' && s[i] <= 'Z')
			s[i] = 'A' + 26 - (s[i] - 'A')-1;
	}

	printf("%s", s);
	return 0;
}

【結果截屏】

有一行電文,以按下面規律譯成密碼:A--->Z   a--->z B--->Y   b--->Y C--->X   c--->x
有一行電文,以按下面規律譯成密碼:AZ az B>Y bY C>X c>x


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



猜您在找 有一行電文,以按下面規律譯成密碼: 寫出下面各邏輯表達式的值。設a=3,b=4,c=5 (1)a + b > c && b == c (2)a || b + c && b - c (3)!(a > b) && !c || 1 (4)!(x = a) && (y = b) && 0 (5)!(a + b) + c - 1 && b + c / 2 試畫出下面四條語句的前趨圖: 試畫出下面四條語句的前趨圖: S1: a:=x+y S2: b:=z+1 S3: c:=a-b ... 寫出下面各邏輯表達式的值。設a=3,b=4,c=5。 寫出下面各邏輯表達式的值。設a=3,b=4,c=5。 (1)a + b > c && b == c (2)a || b + c && b - c (3)!(a > b) && !c || 1 (4)!(x = a) && (y = b) && 0 (5)!(a + b) + c - 1 && b + c / 2 請編程序將“China"譯成密碼,密碼規律是:用原來的字母后面第4個字母代替原來的字母。例如,字母“A”后面第4個字母是“E”,用“E”代替“A”。因此,“China"應譯為“Glmre”。請編一程序 用下面的scanf 函數輸人數據,使a=3,b=7,x=8.5,y=71. 82,cl='A',c2='a'。在鍵盤上應如何輸入? 【C語言】兩個乒乓球隊進行比賽,各出三人。甲隊為a,b,c三人,乙隊為x,y,z三人。已抽簽決定比賽名單。有人向隊員打聽比賽的名單,a說他不和x比,c說他不和x,z比,編寫程序找出三對賽手名單。 兩個乒乓球隊進行比賽,各出3人。甲隊為A,B,C 3人,乙隊為X,Y,Z 3人。已抽簽決定比賽名單。有人向隊員打聽比賽的名單,A說他不和X比,C說他不和X,Z比,請編程序找出3對賽手的名單 python基礎練習題(題目 兩個乒乓球隊進行比賽,各出三人。甲隊為a,b,c三人,乙隊為x,y,z三人。已抽簽決定比賽名單。有人向隊員打聽比賽的名單。a說他不和x比,c說他不和x,z比,請編程序找出三隊賽手的名單) 兩個乒乓球隊進行比賽,各出三人。 甲隊為a,b,c三人,乙隊為x,y,z三人。 已抽簽決定比賽名單。 有人向隊員打聽比賽的名單。 a說他不和x比,c說他不和x,z比, 請編程序找出三隊賽手的名單。
 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM