c语言摩斯密码转换
    一、需求分析
    1、输入一个以普通字母构成的字符串;
    2、将输入的字符串转换成摩斯密码;
    3、输出转换的摩斯密码;
    二、流程设计
    1、将读入的字符转换成16进制;
    2、转换成二进制数;
    3、根据'摩斯密码对照表'将二进制转换成摩斯密码;
    4、输出摩斯密码;
    三、函数设计
    1、将读入的字符转换成16进制;
    int hex(char s)
    {
    switch(s)
    {
    case 'A': return 10;  // A-->10
    case 'B': return 11;  // B-->11
    case 'C': return 12;  // C-->12
    case 'D': return 13;  // D-->13
    case 'E': return 14;  // E-->14
    case 'F': return 15;  // F-->15
    default: return s-'0'; //0-9-->0-9
    }
    }
    2、转换成二进制数;
    void change(int a[],int b[]) // 16进制转换成2进制
    {
    tint i;
    tfor(i=0;i<4;i++)
    t{
    ttswitch(a[i])
    tt{
    tttcase 0: b[i*4]=0;b[i*4+1]=0;b[i*4+2]=0;b[i*4+3]=0;break;
    tttcase 1: b[i*4]=0;b[i*4+1]=0;b[i*4+2]=0;b[i*4+3]=1;break;
    tttcase 2: b[i*4]=0;b[i*4+1]=0;b[i*4+2]=1;b[i*4+3]=0;break;
    tttcase 3: b[i*4]=0;b[i*4+1]=0;b[i*4+2]=1;b[i*4+3]=1;break;
    tttcase 4: b[i*4]=0;b[i*4+1]=1;b[i*4+2]=0;b[i*4+3]=0;break;
    tttcase 5: b[i*4]=0;b[i*4+1]=1;b[i*4+2]=0;b[i*4+3]=1;break;
    tttcase 6: b[i*4]=0;b[i*4+1]=1;b[i*4+2]=1;b[i*4+3]=0;break;
    tttcase 7: b[i*4]=0;b[i*4+1]=1;b[i*4+2]=1;b[i*4+3]=1;break;
    tttcase 8: b[i*4]=1;b[i*4+1]=0;b[i*4+2]=0;b[i*4+3]=0;break;
    tttcase 9: b[i*4]=1;b[i*4+1]=0;b[i*4+2]=0;b[i*4+3]=1;break;
    tttcase 10: b[i*4]=1;b[i*4+1]=0;b[i*4+2]=1;b[i*4+3]=0;break;
    tttcase 11: b[i*4]=1;b[i*4+1]=0;b[i*4+2]=1;b[i*4+3]=1;break;
    tttcase 12: b[i*4]=1;b[i*4+1]=1;b[i*4+2]=0;b[i*4+3]=0;break;
    tttcase 13: b[i*4]=1;b[i*4+1]=1;b[i*4+2]=0;b[i*4+3]=1;break;
    tttcase 14: b[i*4]=1;b[i*4+1]=1;b[i*4+2]=1;b[i*4+3]=0;break;
    tttcase 15: b[i*4]=1;b[i*4+1]=1;b[i*4+2]=1;b[i*4+3]=1;break;
    tt}
    t}
    }
    3、根据'摩斯密码对照表'将二进制转换成摩斯密码;
    void morse(int b[],char m[]) //2进制转换成摩斯密码
    {
    tint i;
    tfor(i=0;i<16;i++)
    t{
    ttif(b[i]==0)
    tttm[i]='.';
    ttelse
    tttm[i]='-';
    t}
    }
    四、主函数部分
16进制字符串转16进制数组    int main()
    {
    tint i;
    tchar s[20];
    tint a[4];
    tint b[16];
    tchar m[16];t
    tprintf('请输入一个以普通字母构成的字符串:
    ');
    tscanf('%s',s);
    tfor(i=0;i<4;i++)
    tta[i]=hex(s[i]);
    tchange(a,b);
    tmorse(b,m);
    tprintf('转换成密码:
    ');
    tfor(i=0;i<16;i++)
    ttprintf('%c',m[i]);
    tprintf('
    ');
    treturn 0;
    }。

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。