#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;
}
回答太辛苦加20分