日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

1033 旧键盘打字 (20 分)(c语言)

發(fā)布時間:2024/4/18 编程问答 24 豆豆
生活随笔 收集整理的這篇文章主要介紹了 1033 旧键盘打字 (20 分)(c语言) 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

舊鍵盤上壞了幾個鍵,于是在敲一段文字的時候,對應的字符就不會出現(xiàn)。現(xiàn)在給出應該輸入的一段文字、以及壞掉的那些鍵,打出的結果文字會是怎樣?

輸入格式:

輸入在 2 行中分別給出壞掉的那些鍵、以及應該輸入的文字。其中對應英文字母的壞鍵以大寫給出;每段文字是不超過?105?個字符的串。可用的字符包括字母 [a-z,?A-Z]、數(shù)字?0-9、以及下劃線?_(代表空格)、,、.、-、+(代表上檔鍵)。題目保證第 2 行輸入的文字串非空。

注意:如果上檔鍵壞掉了,那么大寫的英文字母無法被打出。

輸出格式:

在一行中輸出能夠被打出的結果文字。如果沒有一個字符能被打出,則輸出空行。

輸入樣例:

7+IE. 7_This_is_a_test.

結尾無空行

輸出樣例:

_hs_s_a_tst

結尾無空行

#include<stdio.h> #include <string.h> #pragma warning(disable:4996) int book[1000000]; char str1[1000000]; char str2[10000000]; typedef int bool; int main() {gets(str1);gets(str2);int len1 = strlen(str1);for (int cnt = 0; cnt < len1; cnt++) {int temp1 = toupper(str1[cnt]);book[temp1] = 1;temp1 = tolower(str1[cnt]);book[temp1] = 1;}int len2 = strlen(str2);for (int cnt = 0; cnt < len2; cnt++) {if (book[(int)str2[cnt]] != 0) str2[cnt] = 0;}bool judge = book[(int)'+'];if (judge==1) {for (int cnt = 0; cnt < len2; cnt++) {if (str2[cnt] >= 'A' && str2[cnt] <= 'Z') str2[cnt] = 0;}}int flag = 0;for (int cnt = 0; cnt < len2; cnt++) {if (str2[cnt] != 0) {putchar(str2[cnt]);flag = 1;}}if (flag==0) putchar('\n');return 0; }

我踩過的坑:

1.我提前以為,.+-全是是上檔鍵,然而實際上,就只有+號是上檔鍵

2.沒想到壞鍵可能為空再加上scanf不能吸收空的字符串所以過不了測試點3

然后有個大佬的,我粘了過來

#include <stdio.h> #include <ctype.h> int main() {char A[123] = {0}, ch;while ((ch = getchar()) != '\n') {A[ch]++;}while ((ch = getchar()) != '\n') {if ((isupper(ch) && A[43]) || A[toupper(ch)]) {continue;}else {putchar(ch);}}return 0; }

總結

以上是生活随笔為你收集整理的1033 旧键盘打字 (20 分)(c语言)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。