马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
#include <stdio.h>
#include <math.h>
int move(int value, int n)
{
int length = 0;
int cvalue = value;//储存value的副本。
int a,b;
if ( n == 0) return value;
while (cvalue/10 != 0)
{
cvalue/= 10;
length ++;
}
if ( n > 0){
for(int n1 = n;n1 > 0;n1--){
a = value%10;
value =a*pow(10,length)+value/10;
}
}//在右移时先将最后那个数取掉,后加到其余数的最前面
else
{
for(int n1 = n;n1 < 0;n1++){
b = value/pow(10,length);
value =(value-b*pow(10,length))*10+b;
}
}
return value;
}
int main()
{
int value,n;
scanf("%d %d",&value,&n);
printf("%d",move(value,n));
return 0;
}
右移操作有问题,但不知道哪里错 |