您的位置:首页 > 编程语言 > C语言/C++

C语言题目:有一个已经排好序的数组。现输入一个数,要求按原来的规律将它插入数组中。

2017-11-20 21:18 537 查看
写的不好,您多担待。

#include<stdio.h>
void btos(int a[], int n)//从大到小的顺序
{
int i, j;
for (i=9; i>=0; i--)
{
if (n <= a[i])
{
for (j=9; j>=i+1; j--)
a[j+1] = a[j];
a[i+1] = n;
return;
}
}
for (j=9; j>=0; j--)
a[j+1] = a[j];
a[0] = n;
return;
}

void stob(int a[], int n)//从小到大的顺序
{
int i, j;
for (i=9; i>=0; i--)
{
if (n >= a[i])
{
for (j=9; j>=i+1; j--)
a[j+1] = a[j];
a[i+1] = n;
return;
}
}
for (j=9; j>=0; j--)
a[j+1] = a[j];
a[0] = n;
return;

}
int main(int argc, char *argv[])
{
int a[11] = {0};
int i, num;
printf("请输入一个排好顺序的10个数字\n");
for (i=0; i<10; i++)
scanf("%d", &a[i]);
for (i=0; i<10; i++)
printf("%d ", a[i]);
printf("\n");
printf("输入一个数,按原来的规律插入数组中\n");
scanf("%d", &num);
if (a[0] >= a[9])
btos(a, num);
else
stob(a, num);
for (i=0; i<11; i++)
printf("%d ", a[i]);
printf("\n");

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  c语言
相关文章推荐