这几个函数单独做main函数时结果正确,为什么放一块输出的不对啊?

img

img

img

main函数外的三个函数zhuyuan maopao zhubu各自输出的时候正确,放一起输出不对了。

因为你单独输出的时候数组是没排序的,放在一起的时候第一个排序完后会对后面的排序结果产生影响,你应该申请3个数组,三个数组完全一样,排序的时候分别对3个数组进行排序处理,如下:

int oi1[10],oi2[10],oi3[10]; //这里多定义2个数组
int main()
{
    int a,b,c;
    int i=0,m,n;
    
    while(i<=9)
    {
        scanf("%d",&oi1[i]);
        oi2[i] = oi1[i]; //用oi1给oi2和oi3数组赋值,保证3个数组完全一致
        oi3[i] = oi1[i];
        i++;
    }
    a = zhuyuan(oi1);  //这里分别对不同的数组进行处理,但是3个数组的元素是一样的,这样才能比较出3个算法的差别
    b = maopao(oi2);
    c = zhubu(oi3);
    printf("%d %d %d %d %d %d",a,zh,b,mao,c,bu);
}

看不到main函数的代码啊

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