oula


私信TA

用户名:wielch

访问量:578

签 名:

等  级
排  名 20717
经  验 656
参赛次数 0
文章发表 5
年  龄 0
在职情况 学生
学  校 湖南工业大学
专  业

  自我简介:

解题思路:使用排序。后续可以将数组的长度也用参数传递进去,实现任意长度的数组的插入。

注意事项:不是最优解,但是适应性好,不管输入顺序,最后输出的都是从小到大

参考代码:

#include <stdio.h>


void Solve(int* buf ,int data);

void Sort(int *buf ,int num);


int main(void)

{

    int buf[9] = {0};

    for(int i = 0; i < 9; i++)

    {

        scanf("%d",&buf[i]);

    }

    int d = 0;

    scanf("%d" ,&d);

    Solve(buf ,d);  

    return 0;

}


void Solve(int* buf ,int data)

{

    int FullBuffer[10];

    FullBuffer[9] = data;

    for(int i = 0;i < 9;i++)

    {

        FullBuffer[i] = buf[i];

    }

    Sort(FullBuffer ,10);

    for(int i = 0;i < 10;i++)

    {

        printf("%d\n" ,FullBuffer[i]);

    }

}


void Sort(int *buf ,int num)

{

    for(int i = 0;i < num;i++)

    {

        int min = i;

        for(int j = i + 1;j < num; j++)

        {

            if(buf[min] > buf[j])

            {

                int temp = min;

                min = j;

                j = temp;

            }

        }

        if(i != min)

        {

            int temp = buf[i];

            buf[i] = buf[min];

            buf[min] = temp;

        }

    }

}


 

0.0分

0 人评分

  评论区