gpt4 book ai didi

c - 如何用 C 将莫尔斯码编码为拉丁字母翻译器

转载 作者:太空宇宙 更新时间:2023-11-04 04:12:23 25 4
gpt4 key购买 nike

所以,我的作业是做摩尔斯拉丁字母翻译。到目前为止,我已经设法将莫尔斯码编码为拉丁语翻译器,但我无法让它以其他方式工作。这是代码:

#include<stdio.h>
#define MAX 1000

int main(){
int i, j;
char alfabet[26]={'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'};
char* morse[27]={".-", "-..", "-.-.", "-..", ".", "..-.", "--.", "....", "..", ".---", "-.-", ".-..", "--", "-.", "---", ".--.", "--.-", ".-.", "...", "-", "..-", "...-", ".--", "-..-", "-.--", "--.."};
char tekst[MAX];
printf("Podaj tekst pisany wielkimi literami: ");
scanf("%[^\n]c", tekst);
for(i=0;i<27;i++){
for(j=0;j<30;j++){
if(tekst[i]==alfabet[j]){
printf("%s ", morse[j]);
}


}

}

}

注意:我的 C 编程水平非常基础。我知道这可能是实现所需结果的最糟糕方法,而且代码本身远非漂亮或有效,尤其是 for 循环。这不是我目前担心的,我稍后会处理。

到目前为止,我最大的问题是很小的;程序在循环完成最后一次迭代后立即停止。无法打印任何内容,也不会执行任何命令。我不知道为什么。修复后,我最大的问题将是翻译本身。如何扫描摩尔斯电码字符串(例如“- . -..- -”,翻译为“TEXT”)并将其放入数组中?我想我不能像对多个字符那样使用 tekst[MAX] 数组?

注意 2:虽然任何想法都会有所帮助,但由于我对 C 的总体了解很少,所以我无法理解或实现所有这些想法。提前谢谢你

最佳答案

这是代码,

#include<stdio.h>
#include <string.h>
#define MAX 1000

int main(){
int i, j;
char alfabet[26]={'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'};
char* morse[27]={".-", "-..", "-.-.", "-..", ".", "..-.", "--.", "....", "..", ".---", "-.-", ".-..", "--", "-.", "---", ".--.", "--.-", ".-.", "...", "-", "..-", "...-", ".--", "-..-", "-.--", "--.."};
char tekst[MAX];

printf("Podaj tekst pisany wielkimi literami: ");
scanf("%s", &tekst);

int length = (unsigned)strlen(tekst);

for(i=0; i<length; i++){
for(j=0; j<26; j++){
if(tekst[i]==alfabet[j]){
printf("%s ", morse[j]);
}
}

}

}

获取作为字符串输入的单词,您需要有 string.h 库。希望你能得到答案。

关于c - 如何用 C 将莫尔斯码编码为拉丁字母翻译器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55783487/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com