您的位置:首页 > 其它

(用指针方法处理)有n个整数,使前面各数顺序向后移m个位置,最后m个数变成最前面m个数。编写一个函数实现上述功能,在主函数中输入n个整数,并输出调整后的n个数

2015-05-27 22:28 1181 查看
第一种方法:指针法

#include<stdio.h>

#include<stdlib.h>

int w(int *d,int e,int g)

{

int i,j,t;

int *r;

j=0;

for(i=0;i<g;i++)

{

t=*(d+i);

*(d+i)=*(d+e-g+j);

*(d+e-g+j)=t;

j++;

}

return *d;

}

int main()

{

int a[100];

int i,j,k,n,m;

scanf("%d%d",&n,&m);

for(i=0;i<n;i++)

scanf("%d",&a[i]);

k=n;

w(a,k,m);

for(i=0;i<n;i++)

printf("%d ",a[i]);

printf("\n");

system("pause");

return 0;

}

第二种方法:数组法

#include<stdio.h>

#include<stdlib.h>

void w(int d[],int e,int g)

{

int i,j,t;

//int *r;

j=e;

for(i=0;i<g;i++)

{

t=d[i];

d[i]=d[j-1];

d[j-1]=t;

j--;

}

for(i=0;i<e;i++)

printf("%d ",d[i]);

printf("\n");

//return *d;

}

int main()

{

int a[100];

int i,j,k,n,m;

scanf("%d%d",&n,&m);

for(i=0;i<n;i++)

scanf("%d",&a[i]);

k=n;

w(a,k,m);

/* for(i=0;i<n;i++)

printf("%d ",a[i]);

printf("\n");*/

system("pause");

return 0;

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐