//有n个整数,使其前面的依次向后移m个位置,最后m个数变成最前面的m个数
#include "stdio.h"
void exchange(int *p,int a,int c);
int main(){
int a[15]={14,34,567,24,55,88,45,90,86,65,54,43,86,74,84};
int m=5;
exchange(&a,14,0);
exchange(&a,m-1,0);
exchange(&a, 14, m);
for (int k=0; k<15; k++) {
printf("%d\t",a[k]);
}
return 0;
}
void exchange(int *p,int a,int c){
int *z;
int b[15];
int i,j;
int temp;
z=p;
for (int i=0; i<15; i++) {
b[i]=*z;
z++;
}
i=c;
j=a;
while (i<=j) {
temp=b[i];
b[i]=b[j];
b[j]=temp;
i++;
j--;
}
for (int k=0; k<15; k++) {
*p=b[k];
p++;
}
}
c语言程序(四十七)——交换位置(置逆)
最新推荐文章于 2024-11-12 22:05:26 发布
