Ⅰ 编写两个函数lrmove,rrmove分别实现左,右循环移位。求完整c语言程序。
#include <stdio.h>
int lrmove(int value, int n)
{
int size = sizeof(value) * 8;
int part1 = (unsigned int)value >> (size - n);
return (value << n) | part1;
}
int rrmove(int value, int n)
{
int size = sizeof(value) * 8;
int part1 = value << (size - n);
return ((unsigned int)value >> n) | part1;
}
int main(int argc, char *argv[])
{
int x = 0xffabcdef;
printf("lrmove(0x%x, 4)=0x%x ", x, lrmove(x, 4));
printf("rrmove(0x%x, 4)=0x%x ", x, rrmove(x, 4));
return 0;
}
Ⅱ C语言编程实践-求解求解求解!!!!!!
不知道为什么没有代码模式,只能这样复制给你了。也不知道你的T跟R字符串多少个字符,能不能用字符串库函数,程序里就假设它们相等了,没用到字符串库函数。
#include<stdio.h>
char str_compare(char *p1,char *p2);
void str_change(char *p1,char *p2);
char *p=0;
int main()
{
char SS[]="China American Russian Japan England Japan American",TT[]="American",RR[]="12345678";
char *ps=SS,*pt=TT,*pr=RR;
printf("原来字符串:");
for(;*ps!='