飘云阁

 找回密码
 加入我们

QQ登录

只需一步,快速开始

查看: 1793|回复: 6

[易语言] 请帮帮忙谢谢!以下C语言转易语言,谢谢大家!!

[复制链接]
  • TA的每日心情
    开心
    2023-5-17 14:39
  • 签到天数: 13 天

    [LV.3]偶尔看看II

    发表于 2023-5-17 14:46:29 | 显示全部楼层 |阅读模式

    请帮帮忙谢谢!以下C语言转易语言,谢谢大家!!
    [C] 纯文本查看 复制代码
    #include <stdio.h> 
    #include <string.h>
    
    static unsigned value;
    void sub1(unsigned para)
    {
            value = para;
    }
    
    unsigned sub2(void)
    {
            value = value * 0x343FD + 0x269EC3;
            return (value>>16) & 0x7fff;
    }
    
    void main(void) { 
            char UserName[100];
            int  i, len;
            unsigned num;
    
            printf("Input username:\n");
            gets(UserName);
            len = strlen(UserName);
            num = 0x0D431;
            for(i=0;i<len;i++)
            {
                    sub1 ( (unsigned)(unsigned char)UserName[i] ^ 0x14142135 );
                    num = ( sub2() + ((num<<16)|(num>>16)) ) ^ 0x27181828;
            }
            sub1(0x75bCD15);
            for(i=0;i<100;i++)
            {
                    num = ( sub2() + ((num<<16)|(num>>16)) ) ^ 0x17320508;
            }
            printf("UserName=%s\n", UserName);
            printf("RegisterCode=%ld\n", num);
    }	


    请帮帮忙谢谢!以下C语言转易语言,谢谢大家!!
    以下一组是正确的注册码
    用户名:hjind1213
    注册码:0357987587
    谢谢大家,共同学习
    PYG19周年生日快乐!
  • TA的每日心情

    昨天 19:15
  • 签到天数: 428 天

    [LV.9]以坛为家II

    发表于 2023-5-19 18:16:58 | 显示全部楼层


    [C] 纯文本查看 复制代码
    公共 UserName,num
    子程序 sub1(para)
        value = para
    结束子程序  
    
    函数 sub2()
        value = value * &H343FD + &H269EC3
        返回 (value >> 16) 与 &H7FFF  
    结束函数
    
    主程序
        输入 "输入用户名:"
        gets UserName
        len = 字符串长度(UserName)
        num = &HD431
        对 i = 0 到 len - 1
            调用 sub1(asc(字符串中取字符(UserName,i)) xor &H14142135)
            num = (sub2() + (num << 16) 或 (num >> 16)) xor &H27181828
        下一步
        调用 sub1(&H75BCD15)
        对 i = 0 到 99
            num = (sub2() + (num << 16) 或 (num >> 16)) xor &H17320508
        下一步
        打印 "用户名=" ; UserName
        打印 "注册码=" ; num
    结束主程序
    
    

    1. C语言的头文件导入变为易语言的无须导入
    2. C语言的static关键词变为易语言的公共关键词,代表全局变量
    3. C语言的void main()变为易语言的主程序和结束主程序
    4. C语言的函数定义变为易语言的子程序和结束子程序
    5. C语言的无类型指针变为易语言的字符串
    6. C语言的位运算符变为易语言的移位运算符(<<、>>)和或运算符(或)
    7. C语言的printf变为易语言的打印, gets变为输入和gets
    PYG19周年生日快乐!
    回复 支持 1 反对 0

    使用道具 举报

  • TA的每日心情
    开心
    2021-5-26 09:23
  • 签到天数: 2 天

    [LV.1]初来乍到

    发表于 2023-5-17 15:27:32 | 显示全部楼层
    Declare Sub sub1(ByVal para As UInteger)

    Declare Function sub2() As UInteger

    Sub main
    Dim UserName(99) As Byte
    Dim i, len As Integer
    Dim num As UInteger
    Dim sUserName As String

    Print "Input username:"
    Line Input sUserName
    For i = 0 To Len(sUserName) - 1
        UserName(i) = Asc(Mid(sUserName, i + 1, 1))
    Next
    len = Len(sUserName)
    num = &H0D431UI
    For i = 0 To len - 1
        Call sub1((CByte(UserName(i)) Xor &H14142135UI))
        num = (sub2 + ((num << 16) Or (num >> 16))) Xor &H27181828UI
    Next
    Call sub1(&H75BCD15UI)
    For i = 0 To 99
        num = (sub2 + ((num << 16) Or (num >> 16))) Xor &H17320508UI
    Next
    sUserName = StrConv(UserName, vbUnicode)
    sUserName = Left(sUserName, InStr(sUserName, Chr(0)) - 1)
    Print "UserName="; sUserName
    Print "RegisterCode="; num
    End Sub

    Sub sub1(ByVal para As UInteger)
    Static value As UInteger
    value = para
    End Sub

    Function sub2() As UInteger
    Static value As UInteger
    value = value * &H343FDUI + &H269EC3UI
    sub2 = (value >> 16) And &H7FFFUI
    End Function
    PYG19周年生日快乐!
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    奋斗
    9 小时前
  • 签到天数: 1260 天

    [LV.10]以坛为家III

    发表于 2023-5-19 06:30:03 | 显示全部楼层
    来个红包吧
    PYG19周年生日快乐!
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    擦汗
    2024-5-8 23:02
  • 签到天数: 242 天

    [LV.8]以坛为家I

    发表于 2023-5-20 17:39:30 | 显示全部楼层
    这是把火箭换成推车?
    PYG19周年生日快乐!
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    奋斗
    10 小时前
  • 签到天数: 367 天

    [LV.9]以坛为家II

    发表于 2023-5-27 08:17:41 | 显示全部楼层
    这个好像不好转                  
    PYG19周年生日快乐!
    回复 支持 反对

    使用道具 举报

    您需要登录后才可以回帖 登录 | 加入我们

    本版积分规则

    快速回复 返回顶部 返回列表