向一个已经排好序的数组a中插入一个数,要求插入后数组仍按原来的规律排序,然后再将该数组的第3个元素删除,请编程实现该操作并显示插入和删除以后的数组。(以6-1.c保存并提交)
//使用函数解决上述问题,需要定义以下函数:
//1.实现排序(若给定数组元素已排序,可省略)
//2.实现插入数据
//3.实现删除数据
//4.实现数组元素的输出
注:我是初学者,要能让我看懂
很晚了,如果明天还需要的话,我再帮你修改了。。上午没有空。
请快点!
追答#include
void bubble_sort(int *a,int n) //冒泡排序
{
int i,j,t;
for(i=0;i=3) {Delete(a,n);n=n-1;} //如果数组长度大于等于3,则删除第3个元素
n=n-1;
PRINT(a,n);
return 0;
}
能再注释一下哪个是哪个函数吗?请
追答#include
void bubble_sort(int *a,int n) //实现排序
{
int i,j,t;
for(i=0;i=3) {Delete(a,n);n=n-1;} //如果数组长度大于等于3,则删除第3个元素,实现删除数据
PRINT(a,n); //输出,实现数组元素的输出
return 0;
}
运行不了啊,亲
追答#include<stdio.h>
void bubble_sort(int *a,int n) //实现排序
{
int i,j,t;
for(i=0;i<n-1;i++)
{
for(j=1;j<n;j++)
{
if(a[j]<a[j-1]) {t=a[j-1];a[j-1]=a[j];a[j]=t;}
}
}
}
void charu(int *a,int n) //插入元素,实现插入数据
{
int x;
printf("输入要插入的元素:\n");
scanf("%d",&x);
a[n]=x;
n=n+1;
bubble_sort(a,n);
}
void Delete(int *a,int n) // 删除第三个元素,实现删除数据
{
int i;
for(i=2;i<n-1;i++)
a[i]=a[i+1];
}
void PRINT(int *a,int n) //输出,实现数组元素的输出
{
int i;
for(i=0;i<n;i++)
printf("%d ",a[i]);
}
int main()
{
int a[100],n,i;
printf("输入初始数组长度:\n");
scanf("%d",&n);
printf("输入数组元素(用空格分开):\n");
for(i=0;i<n;i++)
scanf("%d",&a[i]);
bubble_sort(a,n); //排序
charu(a,n); //插入元素
n=n+1;
if(n>=3) {Delete(a,n);n=n-1;} //如果数组长度大于等于3,则删除第3个元素,实现删除数据
PRINT(a,n); //输出,实现数组元素的输出
return 0;
}