神犇營 my0028 輸出相鄰字母

2021-09-24 02:32:17 字數 1156 閱讀 4323

描述

英文的二十六個字母大家都知道吧?現在請你根據以下要求寫乙個程式:

輸入乙個字母,輸出自己,並且輸出跟這個字母相鄰的字母,並且要按原來順序排列。

如:輸入:b

輸出:abc

或者:輸入:b

輸出:abc

輸入保證合法,不會輸入 a, a, z 和 z。

輸入輸入乙個字母。

輸出按順序輸出它前面乙個字母,它自己和它後面乙個字母。中間沒有空格。

輸入樣例

b輸出樣例

abc破題:

輸入乙個字母,輸出它的前乙個字母,它自己,它的後乙個字母,之間沒有空格。

思路:因為字元(包括字母)在計算機中是轉成 ascii 碼進行儲存,本質上是整數,所以可以運算。而大寫字母的 ascii 碼相對大小和字母的相對順序是一致的,比如 b 的ascii 碼是 66,而 a 的 ascii 碼是 65,c 的 ascii 碼是 67。所以對於乙個字母而言(除了 a, z, a, z 外),只要 ascii 碼減 1 即可得到前乙個字母,ascii 碼加 1 即可得到後乙個字母。

先定義乙個字元型的變數,用來儲存輸入的字母,並且輸入這個變數:

char c;  // 定義乙個字元(char)型變數c 

cin >> c; // 輸入變數c

做計算,並且輸出:

// 輸出變數c的前乙個字母,c,和 c的後乙個字母

// 字元變數c減1得到的是數字,要用char作強制型別轉換,c加1也是一樣的

cout << char(c -1) << c << char(c + 1) << endl;

或者可以再定義兩個字元型的變數,將運算結果存在變數中,再一起輸出來:

char c1 = c - 1;  // c 的前乙個字母 

char c2 = c + 1; // c 的後乙個字母

cout << c1 << c << c2;

完整**:
#include using namespace std;

int main()

或者

#include using namespace std;

int main()

小韋老師 神犇營 my0049 登入驗證

描述 我們在登入 的時候需要驗證密碼是否正確。現在請你寫乙個程式來驗證登入密碼是否正確。密碼為 5 位數。本題的輸入共 5 行,前 4 行是存進去的 4 個密碼,第 5 行是需要驗證的密碼,需要驗證該密碼是否為存進去的第三個密碼,若是,則輸出 yes 否則輸出 no 輸入本題的輸入共 5 行,前 4...

小韋老師 神犇營 my0184 開關燈

假設有 n 盞燈 n 為不大於 5000 的正整數 從 1 到 n 按順序依次編號,初始時全部處於開啟狀態 有 m 個人 m 為不大於 n 的正整數 也從 1 到 m 依次編號。第乙個人 1 號 將燈全部關閉,第二個人 2 號 將編號為 2 的倍數的燈開啟,第三個人 3號 將編號為 3 的倍數的燈做...

小韋老師 神犇營 my0163 完全數

求正整數 2 和 n 之間的完全數 一行乙個數 完全數 因子之和等於它本身的自然數,如 6 1 2 3 輸入n 1 n 5000 一行乙個數,按由小到大的順序。76破題 考查因子的概念和自定義函式。因子意思是 a 能被 b 整除 a b 0 則說明 b 是 a 的因子。思路 1.首先定義變數 n,並...