此程序为用直接插入法对30个随机数进行排序,有三个问题,如下

#include<stdio.h>
#include<stdlib.h>
#include<time.h>
#define max 30
void InsSort(RecordType r[],int n)
{
    int i,j,r[];
    for(i=1;i=n;i++)
    {
        r[0]=r[i];j=i-1;
        while(r[0]<r[j])
        {
            r[j+1]=r[j];
            j=j-1;
        }
        r[j+1]=r[0]
    }
}
int main()
{
    int r[],k
    srand((unsigned)time(NULL));
    for(i=k;k<max;k++)
    {
        r[k]=rand();
    }
    InsSort(r,max);
    for(int i=1;i<max;i++)

    printf("直接插入排序后结果:%d\n",r[i]);
}

#include<stdio.h>
#include<stdlib.h>
#include<time.h>
typedef int RecordType;
#define max 30
void InsSort(RecordType r[],int n)
{
    int i,j;
    for(i=0;i<n;i++)
    {
        r[0]=r[i];j=i-1;
        while(r[0]<r[j])
        {
            r[j+1]=r[j];
            j=j-1;
        }
        r[j+1]=r[0];
    }
}
int main()
{
    int r[1000],k=0,i;

    for(i=0;i<max;i++)
    {
        r[i]=rand();
    }
    InsSort(r,max);
    for(int i=10;i<max;i++)
    printf("直接插入排序后结果:%d\n",r[i]);
}

 

RecordType是什么?定义在哪里?改成int试下看看

 

InsSort方法写的乱七八糟,基础不行

您好,我是有问必答小助手,您的问题已经有小伙伴解答了,您看下是否解决,可以追评进行沟通哦~

如果有您比较满意的答案 / 帮您提供解决思路的答案,可以点击【采纳】按钮,给回答的小伙伴一些鼓励哦~~

ps: 问答会员年卡【8折】购 ,限时加赠IT实体书,即可 享受50次 有问必答服务,了解详情>>>https://t.csdnimg.cn/RW5m