1. 程式人生 > >字串中字母替換-E

字串中字母替換-E

[程式設計題]舊鍵盤打字(20)舊鍵盤上壞了幾個鍵,於是在敲一段文字的時候,對應的字元就不會出現。現在給出應該輸入的一段文字、以及壞掉的那些鍵,打出的結果文
字會是怎樣?
輸入描述:
輸入在2行中分別給出壞掉的那些鍵、以及應該輸入的文字。其中對應英文字母的壞鍵以大寫給出;每段文字是不超過10^5個字元的串。可用的

字元包括字母[a-z, A-Z]、數字0-9、以及下劃線“_”(代表空格)、“,”、“.”、“-”、“+”(代表上檔鍵)。題目保證第2行輸入的文字串非空。


注意:如果上檔鍵壞掉了,那麼大寫的英文字母無法被打出。
輸出描述:
在一行中輸出能夠被打出的結果文字。如果沒有一個字元能被打出,則輸出空行。
輸入例子:
7+IE.

7_This_is_a_test.
輸出例子:
_hs_s_a_tst
#include<stdio.h>
#include<string.h>
#define MAXSIZE 100000+1

char ch[MAXSIZE]={0};
int broken_ch[256]={0};

void brokenKeyboard(){
    char wrongkey[50];
    scanf("%s %s",wrongkey,ch);
    int len_wrongkey=strlen(wrongkey);
    int len_ch = strlen(ch);
    for(int i=0;i<len_wrongkey;i++){
        broken_ch[wrongkey[i]-'0']=1;
    }
    for(int i=0;i<len_ch;i++){
        if((ch[i]>='A'&&ch[i]<='Z')){
            if((broken_ch[ch[i]-'0']==0)&&(broken_ch['+'-'0']==0))
                printf("%c",ch[i]);
        }else if((ch[i]>='a'&& ch[i]<='z')){
            if((broken_ch[ch[i]-'0'+'A'-'a']==0))
                printf("%c",ch[i]);
        }else{
            if(broken_ch[ch[i]-'0']==0)
                printf("%c",ch[i]);
        }
    }
}
int main()
{
    brokenKeyboard();
    return 0;
}


相關推薦

字串字母替換-E

[程式設計題]舊鍵盤打字(20)舊鍵盤上壞了幾個鍵,於是在敲一段文字的時候,對應的字元就不會出現。現在給出應該輸入的一段文字、以及壞掉的那些鍵,打出的結果文 字會是怎樣? 輸入描述: 輸入在2行中分別

【C語言】統計一個字串字母、數字、空格及其它字元的數量

統計一個字串中字母、數字、空格及其它字元的數量 解法1: #include <stdio.h> #include <stdlib.h> #include <string.h> #include <ctype.h> void Count(con

統計一個字串字母、數字、其它字元的個數,返回一個元組`

統計一個字串中字母、數字、其它字元的個數,返回一個元組` def sum_of_characters(str1): num = 0 letter = 0 char = 0 for i in str1: if i.isdigit():

統計字串字母個數

思路 利用for迴圈遍歷字串的每一項 宣告一個物件,物件的每一個key下又是一個物件,分別儲存字母的value和count var str="abcddabccc";//示例字串

統計一個字串字母出現的次數

function numInString(str){ var str1=''; while(str!=''){ var count=0; var str2 = str.split('');

python 統計一個字串字母、數字及其他字元的個數,返回一個元組

# 統計一個字串中字母、數字及其他字元的個數,返回一個元組 def tongji(s): count1 = 0 count2 = 0 count3 = 0 for i in range(len(s)): if (s[

統計字串字母、數字、空格個數

題目要求: 編寫一函式,由實參傳來一個字串, 統計此字串中字母、數字、空格和其它字元的個數, 在主函式中輸入字串以及輸出上述統計結果。 思路: 定義變數如下: i迴圈變數,j字母個數,k數字個數,l

第一個Pyhon程式:輸入字串字母個數的統計

def main(): char1 = input1() display(char1) count_and_display(char1) def input1():

統計字串字母出現的次數.c

/*不區分大小寫*/#include<stdio.h>int main(){int sum[26]={0};char s[1024]="";scanf("%s",s);int i;for(i=0;s[i];i++)if(s[i] >='a' && s[i] <='z')

取出一個字串字母出現的次數。如:字串:"abcdekka27qoq" ,輸出格式為: a(2)b(1)k(2)

package com.heima.test; import java.io.FileWriter; import java.io.IOException; import java.util.Comp

統計字串字母,數字,空格和其他字元的個數。

#include <stdio.h>int letter,digit,space,others;int main(){void count(char []); char text[80]; printf("input string:\n"); gets(text)

輸出的字串有空格並且無法替換B e a r e r N D c y Z T g 4 N z A t N 2 N h Z C 0 0 Y 2 E 4 L T g x M W E t O D Y

###1.檔案如下: Request url: appv2.qichacha.net/app/v1/extras/getVersion?platform=android&version=11.3.0&timestamp=1543816102814&sign=ddc

字串的所有字母替換成該字母的下一個字母

題目很簡單,但是有很多細節,我第一次編的時候只考慮到當字串中的某個字元為‘z’或’Z’時,要將其轉化為’a’或‘A’; 第一次的程式如下,編譯執行通過 #include<stdio.h> #include<string.h>

PB替換字串全部指定字母

//字串替換函式   //引數:   //as_str1:源字串   //as_str2:在源字串中需要被替換的字串   //as_str3:將第一次出現的as_str2替換成as_str3   //==========================================   //返回:替換後的字

刷題筆記2——將字串的空格替換為指定的字串

題目描述 請實現一個函式,將一個字串中的每個空格替換成“%20”。例如,當字串為We Are Happy.則經過替換之後的字串為We%20Are%20Happy。 1、方法1 通過一個string物件來將元素不斷加入其中,加完以後找出空格,刪除即可 內容介紹1 strin

python學習第一週 獲取字串出現次數最多的字母

給定一個包含不同的英文字母和標點符號的文字,找出其中出現最多的字母,檢測時不區分大小寫,並返回一個小寫字母,若存在相同次數的字母,則返回字母表中最先出現的那個。比如find,則返回f #!/usr/bin/python3 #-*- coding:UTF-8 -*- str_input = in

【LeetCode】345. 反轉字串的母音字母

題目連結:https://leetcode-cn.com/problems/reverse-vowels-of-a-string/description/ 題目描述 編寫一個函式,以字串作為輸入,反轉該字串中的母音字母。 示例 輸入: “hello” 輸出: “holle

【LeetCode】 345. 反轉字串的母音字母

1.題目 編寫一個函式,以字串作為輸入,反轉該字串中的母音字母。 2.思路 遍歷字串,把母音字母放入向量中; 再次遍歷字串的時候,把這些母音字母再從向量中從後向前輸出。 3.程式碼 class Solution { public: string

Leetcode 345. 反轉字串的母音字母 By Python

編寫一個函式,以字串作為輸入,反轉該字串中的母音字母。 示例 1: 輸入: "hello" 輸出: "holle" 示例 2: 輸入: "leetcode" 輸出: "leotcede" 說明: 母音字母不包含字母"y"。 思路 設立2個指標,一個從索引0開始向右,一個從末尾向前,根據條件進