C 实现循环左移和循环右移功能

// C_Test.cpp : 定义控制台应用程序的入口点。
//
#include "stdafx.h"
#include <stdlib.h>/*为了调用system("PAUSE");*/
#include <time.h>/*为了调用time;*/
#include <stdio.h>
#include <string.h>
#include <windows.h>

unsigned int right(unsigned int value, int n)
{
  unsigned int z;
 
  z = (value>>n)|(value<<(32-n));
  printf("%d right mov %d = %d\n", value, n, z);
  return z;
  
}


unsigned int left(unsigned int value, int n)
{
  unsigned int z;
  z = (value<<n)|(value>>(32-n));
  printf("%d left mov %d = %d\n", value, n, z);
  return z;
  
}






int main(int argc , char* argv[])
{
  unsigned int a;
  int n;
  printf("sizeof(int)=%d\n", sizeof(int));
  printf("Input a:");
  scanf("%d",&a);
  printf("Input n:");
  scanf("%d",&n);
  right(a,n);


  printf("Input a:");
  scanf("%d", &a);
  printf("Input n:");
  scanf("%d", &n);;
  left(a,n);


  system("PAUSE");
  return 0;
}



猜你喜欢

转载自blog.csdn.net/shayne_lee/article/details/80369957