js代码,不明白哪里错了,求正确代码

由c语言改编的jS代码,报错:main is not defind。来位大神帮我根据提示,修改一下我的代码,给出正确代码及运行结果截图,(刚接触js语言,很多格式不懂。)
var a;
var a=new Array(10);
var x;
var y;
// 生成一个随机数组
function random_array(n) {
    srand(time(NULL));
    for (var i = 0; i < n; i++) {
        a[i] = rand() % 100;
    }
}

// 打印数组
function print_array(a)
{
        console.log(a);  
}

// 返回数组最大值
// TODO: 修改并实现所需功能
function max_element(a)
{ var max=a[0];
    for (var i = 0; i < a.length; i++)
    if(a[i]>max)
    max=a[i];
    return 0;
}

// 对数组按照递增顺序排序
// TODO: 修改并实现所需功能
function sort_ascending(a)
{
    var i, j, t ;
    for(i=0 ; i<a.length ; i++)
    for(j=0 ; j<a.length-i ;j++)
    if(a[ i ]>a[ j ]) {t=a[ i ];a[ i ]=a[ j ];a[ j ]=t;}
    }

// 根据用户传入的比较函数comp对数组进行排序,
// 如果comp(a, b) > 0,则a排在后面
// TODO: 修改并实现所需功能
function sort(a, comp)
{ var i, j, t ;
    for(i=0 ; i<a.length; i++)
    for(j=0 ; j<a.length-i ;j++)
    if(comp(a[i],a[j])>0 ) {t=a[ i ];a[ i ]=a[ j ];a[ j ]=t;}
    }

// 比较函数
function greater_than(x,y)
{  
    return x - y;
}

function less_than(x, y)
{
    return y - x;
}

main()
{
    var a=new Array(10);
    random_array(a);
    print_array(a);

    console.log(max_element(a));

    sort_ascending(a);
    console.log(a);

    sort(a, greater_than);
    print_array(a);

    sort(a,less_than);
    print_array(a);

    return 0;
}

在main前面加function,function main

img

<!DOCTYPE html>

<body>
    <script>
        // 生成一个随机数组
        function random_array(n,min=0,max=100) {
            for (var i = 0; i < n.length; i++) {
                n[i] = Math.floor(Math.random() * (max - min + 1)) + min;
            }
        }

        // 打印数组
        function print_array(a) {
            console.log(a);
        }

        // 返回数组最大值
        // TODO: 修改并实现所需功能
        function max_element(a) {
            var max = a[0];
            for (var i = 0; i < a.length; i++)
                if (a[i] > max)
                    max = a[i];
            return 0;
        }

        // 对数组按照递增顺序排序
        // TODO: 修改并实现所需功能
        function sort_ascending(a) {
            var i, j, t;
            for (i = 0; i < a.length; i++)
                for (j = 0; j < a.length - i; j++)
                    if (a[i] > a[j]) { t = a[i]; a[i] = a[j]; a[j] = t; }
        }

        // 根据用户传入的比较函数comp对数组进行排序,
        // 如果comp(a, b) > 0,则a排在后面
        // TODO: 修改并实现所需功能
        function sort(a, comp) {
            var i, j, t;
            for (i = 0; i < a.length; i++)
                for (j = 0; j < a.length - i; j++)
                    if (comp(a[i], a[j]) > 0) { t = a[i]; a[i] = a[j]; a[j] = t; }
        }

        // 比较函数
        function greater_than(x, y) {
            return x - y;
        }

        function less_than(x, y) {
            return y - x;
        }

        function main() {
            var a = new Array(10);
            random_array(a);
            print_array(a);

            console.log(max_element(a));

            sort_ascending(a);
            console.log(a);

            sort(a, greater_than);
            print_array(a);

            sort(a, less_than);
            print_array(a);

            return 0;
        }
        main();

    </script>
</body>

</html>
您好,我是有问必答小助手,您的问题已经有小伙伴帮您解答,感谢您对有问必答的支持与关注!
PS:问答VIP年卡 【限时加赠:IT技术图书免费领】,了解详情>>> https://vip.csdn.net/askvip?utm_source=1146287632