解题思路:使用排序。后续可以将数组的长度也用参数传递进去,实现任意长度的数组的插入。
注意事项:不是最优解,但是适应性好,不管输入顺序,最后输出的都是从小到大
参考代码:
#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 人评分