编程摩斯密码,c语言能解莫斯密码吗

2023-03-19 23:46:51 摩斯密码知识 思思

java或c++编程实现对一段摩斯密码解密

从语音开始? 你做出来,准确率在99%就行,还有人给钱你的

~

c语言能解莫斯密码吗

能。根据查询相关公开信息显示,C语言能转换摩斯密码。C语言是一门通用计算机编程语言,广泛应用于底层开发。

C摩尔斯码程序设计

输入摩斯电码 翻译出 英文,只能识别英文字母, 字母间隔一个空格,单词间隔三个空格 输入摩斯电码

#include "stdio.h"

#include "conio.h"

#include "string.h"

int morseindex(const char *a);

int main(void)

{

int i, j, space;

char *p;

char buffer[1024];

char a[6];

gets(buffer);

p = buffer;

i = 0;

space = 0;

while(1)

{

if (*p == 32 || *p == '\0')

{

a[i] = '\0';

if (strlen(a) != 0)

{

j = morseindex(a);

if (j = 0)

printf("%c", 'a' + j);

}

i = 0;

space++;

if (space == 3)

printf(" ");

}

else

{

a[i++] = *p;

space = 0;

}

if (*p == '\0')

break;

p++;

}

}

int morseindex(const char *a)

{

int i;

static char morsetable[26][5] = {{".-"}, {"-..."}, {"-.-."}, {"-.."}, {"."}, {"..-."}, {"--."}, {"...."}, {".."}, {".---"}, {"-.-"}, {".-.."}, {"--"}, {"-."}, {"---"}, {".--."}, {"--.-"}, {".-."}, {"..."}, {"-"}, {"..-"}, {"...-"}, {".--"}, {"-..-"}, {"-.--"}, {"--.."}};

for (i = 0; i 26; i++)

{

if (strcmp(a, morsetable[i]) == 0)

{

return i;

}

}

return -1;

}

证明进化论这一思想的真实实例有哪些?

正如英国科学家钱特勒·威克玛辛(Chandra Wickramasinghe)说:“达尔文进化论的基本原则根本没有证据可援。这不过是在1860年席卷普世的一股社会动力,却自此对科学界造成大祸。”

据《新科学家》杂志说:“越来越多科学家指出,尤其是相信进化论的科学家指出,达尔文的进化论根本不是真正的科学理论。许多提出批评的人都是权威学者。”

博伯(Karl Popper)博士说:“我所获得的结论是:达尔文的主张并非一项可以试验的科学理论,反之这是一项形而上学的研究计划。”

人类学教授华斯本(Washburn)说:“进化论的每一件事都是非常臆测的。”

美国芝加哥《实地博物馆馆报》说:“达尔文的理论一直被认为跟化石证据有密切关系。一般人也可能以为,支持达尔文的生物演化过程的论据,主要来自化石。可惜,这个看法不大正确。无论当时还是现在找到的地质记录,都不能证明生物是通过一连串缓慢而渐进的过程逐步进化的。物种在生物史上都是十分突然出现的,在纪录上全无改变的迹象,或者只有很少,然后就在纪录上忽地消失了。此外,下一代是否真的比上一代更加适应环境,也往往不很清楚,而事实上很少是清楚的。换言之,生物结构上的进步是很希罕的。”(第50卷,第1号,22-23页)

查考过化石记录所提出的证据后,生物学家乔纳森·威尔斯(Jonathan Wells)写道:“以界、门、纲的层面来说,生物有共同祖先并逐渐进化显然不是 科学家凭观察所得的事实。从化石记录和分子结构所提出的证据看来,进化论是站不住脚的。”

遗传学家斯特宾斯(Stebbins)写道:“目前各主门动植物之间并无过渡类型。各大类有机体之间存在着一个个深沟”。《生物进化的过程》, 147页。“事实上,”《新编进化时间表》说,“化石纪录在不同物种之间连一个确确凿凿的过渡连环也不能够提供出来。”

脊椎动物学家哈劳·哥芬(Harold Coffin)说:“显然曾有很多的适应发生,但这种适应的改变有没有实际使一大族类的生物进化为另一族类呢?来自科学的证据并不支持这样的改变。”

研究人员常用某些化石记录来证明进化论的真确性,但就算是这些化石记录也常常引起争议。比如说,谈到鱼和两栖动物的化石,生物学家马尔科姆·戈登(Malcolm S. Gordon)说,所找到的化石代表性不足,“不大可能反映那些年代这两类生物的多样性。我们无法知道化石显示的生物彼此有没有关系,跟后来出现的生物又有没有关系。”—《Biology and Philosophy》,340页

“拿出一系列化石,声称化石所显示的生物有亲缘关系,这不是个能验证的科学假设,而是个一厢情愿的说法,其可信程度相当于床边故事,虽然动听,也许还有点教育意义,却并不符合科学。”—《探索远古年代——放下化石记录,走向新的生命史》116-117页,亨利·吉着(Henry Gee)

科学家希钦(Francis Hitching)写道:“你若找寻各大类动物之间的连系,就会发觉根本没有这种连系存在。令人出奇的,就是化石漏洞很有规律:在所有要紧的环节上都缺掉化石。”—《长颈鹿的脖子》

“人越研究化石学,就越肯定进化是唯独基于信心的。”— 科学家摩尔(L. T. Moore)

“我发现情形跟我们受到引导去相信的大相径庭。支持进化论的证据不是过少,就是过于琐碎,根本不足以证明生命起源这么复杂的理论。” — 科学家亚纳比(T. H. Janabi)

哈佛出身的律师诺文·麦克伯(Norman Macbeth)说:“在进化方面;大部分的解释都乏善可陈。事实上,它们差不多没有资格称为解释;它们只是提议、猜测、幻想,根本不配称为学说。”

分子生物学家迈克尔·丹顿(Michael Denton)在他的著作《进化论——陷于危机的理论》里说:“自从达尔文的理论跻身成为公理,不用再加证明之后,达尔文呕心沥血,在《物种起源》里提出的实在问题和进化理论的漏洞,都已经无人过问了。生物缺乏过渡的环节、生物的过渡形式难以想象,这些关键性的问题,追随达尔文理论的人几乎只字不提,还单凭一句‘自然选择’,就交代了生物怎样形成极为复杂的适应作用,连半点怀疑也没有。由于进化论这种谬说莫测高深,结果令人人都误以为,进化论是一百年前就已经证实正确的理论。没有什么比这种误解更荒谬。”— 77页。

“跟进化有关的理论,影响力遍及同生物学风马牛不相及的各个学科;在这方面,古往今来没有什么理论可以跟进化论相比。这个事例说明,一个完完全全出于猜想、全无半点科学根据的念头,也可以怎样大行其道,主宰着整个社会的思潮,甚至能够控制着一个时代的面貌。” —《进化论——陷于危机的理论》。

“我本人认为进化论,尤以它被应用的广泛程度,会是未来历史上的一大笑话。人类未来的后代一定会大感惊讶,这么薄弱和含糊的假说,竟会为人所轻信和接纳到如此惊人的地步。我想我曾对你们说过,这个世代是历史上最轻信的世代之一。相信进化论便是其中一个例子。” — 播音员兼作家马尔科姆·马格里奇(Malcolm Muggeridge)

c语言莫尔斯码 将字符串HappyNewYear2014译成Morse码(码间一空格,码表见下表)并在解密后输出以验证

#include stdio.h

#include string.h

#include ctype.h

char const * const morse_table[]=

{"._",//A

"_...",//B

"_._.",//C

"_..",//D

".",//E

".._.",//F

"__.",//G

"....",//H

"..",//I

".___",//J

"_._",//K

"._..",//L

"__",//M

"_.",//N

"___",//O

".__.",//P

"__._",//Q

"._.",//R

"...",//S

"_",//T

".._",//U

"..._",//V

".__",//W

"_.._",//X

"_.__",//Y

"__..",//Z

"_____",//0

".____",//1

"..___",//2

"...__",//3

"...._",//4

".....",//5

"_....",//6

"__...",//7

"___..",//8

"____."//9

};

void encodeMorse(char *d,const char *s);

void decodeMorse(char *d,const char *s);

int main(void)

{

char str1[1000],str2[1000];

encodeMorse(str1,"HappyNewYear2014");

puts(str1);

decodeMorse(str2,str1);

puts(str2);

return 0;

}

void encodeMorse(char *d,const char *s)

{

*d='\0';

while(*s)

{

if(isalpha(*s))

{

strcat(d,morse_table[toupper(*s)-'A']);

}

if(isdigit(*s))

{

strcat(d,morse_table[*s-'0'+('Z'-'A')+1]);

}

strcat(d," ");

s++;

}

}

void decodeMorse(char *d,const char *s)

{

char temp[50];

int i;

while(*s)

{

sscanf(s,"%s",temp);

s+=strlen(temp);

while(*s==' ')s++;

for(i=0;i36;++i)

{

if(!strcmp(temp,morse_table[i]))

{

*d++=(i26?('A'+i):('0'+i-26));

}

}

}

*d='\0';

}

morse的编码表由于是手打的缘故,有可能写错的,错了也没关系,自己改下编码,不用修改程序本身