藍橋杯摩爾斯電碼

2021-08-08 17:07:41 字數 1600 閱讀 9337

摩爾斯電碼破譯。類似於喬林教材第213頁的例6.5,要求輸入摩爾斯碼,返回英文。請不要使用」zylib.h」,只能使用標準庫函式。用』 * 『表示』 . 『,中間空格用』 | 『表示,只轉化字元表。

摩爾斯碼定義見:

清橙進行評測時,輸入是以eof結尾的,而不是換行符。(eof不是乙個字元,「以eof結尾」是一種通俗但不嚴謹的說法。)因此可以通過以下方式之一獲取輸入:

1. 一次讀入整行字串,再進行後續解析。

2. 使用getchar或scanf一次讀入乙個字元,通過它們的返回值判斷輸入結束。

樣例輸出

將字串以 『|』 為間隔拆分成多個子串,再進行匹配

#include

#include

int main()

substr[j]='\0';

if(strcmp(substr,a)==0) printf("a");

if(strcmp(substr,b)==0) printf("b");

if(strcmp(substr,c)==0) printf("c");

if(strcmp(substr,d)==0) printf("d");

if(strcmp(substr,e)==0) printf("e");

if(strcmp(substr,f)==0) printf("f");

if(strcmp(substr,g)==0) printf("g");

if(strcmp(substr,h)==0) printf("h");

if(strcmp(substr,i)==0) printf("i");

if(strcmp(substr,j)==0) printf("j");

if(strcmp(substr,k)==0) printf("k");

if(strcmp(substr,l)==0) printf("l");

if(strcmp(substr,m)==0) printf("m");

if(strcmp(substr,n)==0) printf("n");

if(strcmp(substr,o)==0) printf("o");

if(strcmp(substr,p)==0) printf("p");

if(strcmp(substr,q)==0) printf("q");

if(strcmp(substr,r)==0) printf("r");

if(strcmp(substr,s)==0) printf("s");

if(strcmp(substr,t)==0) printf("t");

if(strcmp(substr,u)==0) printf("u");

if(strcmp(substr,v)==0) printf("v");

if(strcmp(substr,w)==0) printf("w");

if(strcmp(substr,x)==0) printf("x");

if(strcmp(substr,y)==0) printf("y");

if(strcmp(substr,z)==0) printf("z");

}return

0;}

藍橋杯 演算法提高 9 3摩爾斯電碼

摩爾斯電碼破譯。類似於喬林教材第213頁的例6.5,要求輸入摩爾斯碼,返回英文。請不要使用 zylib.h 只能使用標準庫函式。用 表示 中間空格用 表示,只轉化字元表。摩爾斯碼定義見 清橙進行評測時,輸入是以eof結尾的,而不是換行符。eof不是乙個字元,以eof結尾 是一種通俗但不嚴謹的說法。因...

摩爾斯電碼

是哪五種基本訊號呢?1.嘀 1個時間單位 這是時間較短的電子脈衝,讀作 嘀 寫作乙個小圓點 2.嗒 3個時間單位 這是時間較長的電子脈衝,長度是嘀的3倍,讀作 嗒 寫作乙個小橫槓 3.嘀嗒之間的停頓 1個時間單位 有了較短的停頓,才能區分出嘀嗒訊號。4.字元之間的停頓 3個時間單位 後文中會講到,若...

摩爾斯電碼Mrose C

因為某次和朋友聊天中玩到摩爾斯電碼.所以想寫乙個玩一玩.下面就是 c 版的,中間有考慮到用一些指標函式stl之類的,但最後還是用了最原始的寫法.基礎語法.效果如圖 如下 morse.cpp 定義控制台應用程式的入口點。include stdafx.h include include include ...