c语言运用指针排序

来源:百度知道 编辑:UC知道 时间:2024/06/01 08:57:40
#include <stdio.h>

void main()
{ int n=10;int m=4;
int a[10],b[10];int k;
int *p1,*p2;
printf("input 10 numbers:");
for(k=0;k<10;k++)
scanf("%d",a[k]);
p1=a;p2=b;
int i,j;
for(i=0;i<n-m;i++)
{ *(p2+n-m+i)=*(p1+i);}
for(j=n-m;j<n;j++)
{*(p2-n+m+j)=*(p1+j);}
for(i=0;i<n;i++)
printf("%d",*(p1+i));
for(j=0;j<n;j++)
printf("%d",*(p2+j));
}有N个整数使其前面各数向后移动M个位置,最后M个数字变成最前面的数字

#include <stdio.h>

#define NUM 10
#define TAIL 4

void move(int *p){

int i,t = *(p+NUM-1);
for(i=NUM-1;i>0;i--){
*(p+i) = *(p+i-1);
}
*p = t;
}

int main(){

int num[NUM],i,j,t,*p=num;

printf("input 10 numbers:");
for(i=0;i<NUM;i++){
scanf("%d",p+i);
}

for(i=0;i<TAIL;i++){
move(p);
}

for(i=0;i<NUM;i++){
printf("%d ",*(p+i));
}
return 0;
}