1、
#include <stdio.h>
unsigned rrotate(unsigned x, int n)
{
printf("rrotate = %u
", x >> n);
}
unsigned lrotate(unsigned x, int n)
{
printf("lrotate = %u
", x << n);
}
int main(void)
{
unsigned x;
int n;
puts("please input an unsigned integer and an integer.");
printf("x = "); scanf("%u", &x);
printf("n = "); scanf("%d", &n);
rrotate(x, n);
lrotate(x, n);
return 0;
}
2、
#include <stdio.h>
unsigned rrotate(unsigned x, int n)
{
return x >> n;
}
unsigned lrotate(unsigned x, int n)
{
return x << n;
}
int main(void)
{
unsigned x, n, a;
puts("please input two unsigned integers.");
printf("x = "); scanf("%u", &x);
printf("n = "); scanf("%u", &n);
for(;;)
{
puts("a = 1: move right; a = 2: move left.");
printf("a = "); scanf("%u", &a);
if(a == 1 || a == 2)
{
break;
}
puts("input error. try again.");
}
if(a == 1)
{
printf("right move result: %u
", rrotate(x, n));
}
else
{
printf("left move result: %u
", lrotate(x, n));
}
return 0;
}
3、
#include <stdio.h>
unsigned rrotate(unsigned x, int n)
{
return x >> n;
}
unsigned lrotate(unsigned x, int n)
{
return x << n;
}
int main(void)
{
unsigned x;
int n, a;
puts("please input an unsigned integer and an integer.");
printf("x = "); scanf("%u", &x);
printf("n = "); scanf("%d", &n);
while(!0)
{
puts("a = 1: move right; a = 2: move left.");
printf("a = "); scanf("%d", &a);
if(a == 1 || a == 2)
{
break;
}
puts("input error, try again.");
}
if(a == 1)
{
printf("right move result: %u
", rrotate(x, n));
}
else
{
printf("left move result: %u
", lrotate(x, n));
}
return 0;
}
4、
#include <stdio.h>
unsigned rrotate(unsigned x, int n)
{
return x >> n;
}
unsigned lrotate(unsigned x, int n)
{
return x << n;
}
int main(void)
{
unsigned x;
int n, a;
puts("please input two nonnegative integers.");
printf("x = "); scanf("%u", &x);
printf("n = "); scanf("%d", &n);
do
{
puts("a = 1: move right. a = 2: move left.");
printf("a = "); scanf("%d", &a);
if(a != 1 && a != 2)
puts("input error; try again.");
}
while(a != 1 && a != 2);
if(a == 1)
{
printf("right move result: %u
", rrotate(x, n));
}
else
{
printf("left move result: %u
", lrotate(x, n));
}
return 0;
}
5、
#include <stdio.h>
unsigned rrotate(unsigned x, int n)
{
return x >> n;
}
unsigned lrotate(unsigned x, int n)
{
return x << n;
}
int main(void)
{
unsigned x;
int n;
puts("please input the value of unsigned x and int n.");
printf("x = "); scanf("%u", &x);
printf("n = "); scanf("%d", &n);
printf("%u move to right %d bits is :%u
", x, n, rrotate(x, n));
printf("%u move ro left %d bits is :%u
", x, n, lrotate(x, n));
return 0;
}