|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
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;
- }
复制代码
右移操作有问题,但不知道哪里错 |
|