#include <stdio.h>
void insert ( int *a , int n , int len ,int data )
{
int i=0;
for( i=len;i>=n;i-- )
a[i]=a[i-1];
a[i]=data ;
}
void showa( int *a , int len )
{
int i=0;
for(i=0;i<len;i++)
printf("%d " , a[i] );
printf("\n");
}
int main()
{
int arr[20]={1,2,3,4,5,6};
showa( arr , 6 );
insert ( arr , 3 , 6 , 100 );
showa(arr , 7 );
return 0;
}
追问你能说一下你的思路吗
追答void insert ( int *a , int n , int len ,int data ) //a是数组,n是待插入的位置(1到len),len是数组长度,data是待插入的数据
{
int i=0;
for( i=len;i>=n;i-- ) //先将n到len的数据后移
a[i]=a[i-1];
a[i]=data ; //将数据插入到当前位置。
}
本回答被提问者和网友采纳