作业帮 > 综合 > 作业

输入10个整数,把后5个数移到前面,把原来前面的5个数移动到后5个的位置上去 用指针

来源:学生作业帮 编辑:拍题作业网作业帮 分类:综合作业 时间:2024/05/19 18:23:16
输入10个整数,把后5个数移到前面,把原来前面的5个数移动到后5个的位置上去 用指针
void main()
{ void shift(int *x,int);
int a[10],*p,i,m;
p=a;
for(i=0;i<10;i++)
scanf("%d",p++);//输入10个数
scanf("%d",&m);//输入移动的位数
p=a;
shift(p,m);
for(i=0;i<10;i++,p++)
printf("%3d,",*p);//输出这10位数
}
void shift(int *x,int m)//把m传来嘛.
{ int i,j,t;
for (i=0;i<m;i++)//一共移动m次
{t=*(x+9);
for (j=8;j>=0;j--)/*从1位到第9位 */
*(x+j+1)=*(x+j);//每位向后移动一位
*x=t;//把第10位移动到第一位
}
}