Ⅰ 編寫兩個函數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!='