5.2
来源:互联网 发布:138端口是什么服务 编辑:程序博客网 时间:2024/05/20 06:31
1.有n个证书,使前面各数顺序向后移动m个位置,最后m个数变成最前面m个数,写一函数实现。在主函数输入n个整数和输出调整后的n个整数
#include <stdio.h>int main(){ void move_place1(int *p,int m,int n);//常规方法,定义一个数组存放后面m个数据 void move_place2(int *p,int m,int n);//使用递归的方法,每一次调用,将最后一个数保存,每个数后移一位,最后一个数放在第一位 int a[20],m,n,i; printf("How many numbers:"); scanf("%d",&n); printf("input the numbers:"); for(i=0;i<n;i++) scanf("%d",&a[i]); printf("How many place do you want to move:"); scanf("%d",&m); //move_place1(a,m,n); move_place2(a,m,n); printf("Now,the order is:"); for(i=0;i<n;i++) printf("%d",a[i]); printf("\n"); return 0;}void move_place1(int *p,int m,int n){ int *pa,i,b[20]; for(pa=p+n-m,i=0;i<m;i++) b[i]=*pa++; for(pa=p+n-m-1;pa>=p;pa--) *(pa+m)=*pa; for(i=0,pa=p;i<m;i++) *pa++=b[i];}void move_place2(int *p,int m,int n){ int array_end,*pa; array_end=*(p+n-1); for(pa=p+n-1;pa>p;pa--) *pa=*(pa-1); *p=array_end; m--; if(m>0) move_place2(p,m,n);}
- 5.2
- 5.2
- 5.2
- 5.2
- 5.2
- 5.2
- 5.2
- 5.2
- 5.2
- 5.2
- 5.2
- 5.2
- 5.2
- 5.2
- 5.2
- 5.2
- 5.2
- 5.2
- ACM数论之矩阵快速幂
- hdu3925 A至少加上多少包含B(java)
- a href=#与 a href=javascript:void(0) 的区别
- 网络设备模板
- 搭建mediawiki小记
- 5.2
- boost静态编译
- linux学习
- VS2008 C++ 项目怎样添加“依赖”、“库目录”和“包含目录”
- 获取手机分辨率
- ZOJ Monthly, March 2013 解题报告
- iOS网络编程-iCloud文档存储编程实例
- 关于N个球,其中有1个不同质量的球,如何用天平称3次找出那个质量不同的球?的个人研究
- 各式各样的验证码