有n個整數,指定位置m處插入g個值(用指標和函式)
阿新 • • 發佈:2018-11-19
#include <stdio.h>
void main()
{
void move(int *p,int *s,int n,int m,int g);
int a[30],b[20];
int *p=a;
int *s=b;
int m,n,g;
printf("input the n:\n");
scanf("%d",&n);
printf("input the g:\n");
scanf("%d",&g);
printf("input the n num:\n");
for(p=a;p<a+n;)
{scanf("%d",p++);}
printf("input the m:\n");
scanf("%d",&m);
printf("input the g num:\n");
for(s=b;s<b+g;)
scanf("%d",s++);
p=a;
s=b;
move(p,s,n,m,g);
for(p=a;p<a+n+g;)
printf("%d",*p++);
}
void move(int *p,int *s,int n,int m,int g)
{
int i;
for(i=n;i>=m;i--) //這個迴圈是後面的依次往後移動g個位置搜尋
{
*(p+i+g)=*(p+i);
}
for(i=0;i<g;i++) //這個迴圈是把g個數插入到m後
{
*(p+m+i)=*(s+i);
}
}