1个回答
展开全部
#include<stdio.h>
#define N 1000
void reverser(int *a,int n,int m)
{
int i,k=0,t;
k=n%m;
for(i=0;i<=(m-1)/2;i++)//将数字换为原来整数的形式
{
t=a[m-1-i];
a[m-1-i]=a[i];
a[i]=t;
}
while(k>0)//移位
{
t=a[m-1];//将最后一个数字暂存!
for(i=m-2;i>=0;i--)//循环向右移位
a[i+1]=a[i];
a[0]=t;//将最后一个数字付给第一个数字
k--;
}
}
int main()
{
int a[N]={0},m=0,k,n,i;
printf("输入你要移位的数:");
scanf("%d",&k);
printf("输入移位多少位:");
scanf("%d",&n);
do{
a[m]=k%10;
k/=10;
m++;
}while(k>0);
reverser(a,n,m);
for(i=0;i<m;i++)
printf("%d",a[i]);
printf("\n");
return 0;
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询