#include <stdio.h>
#include <stdlib.h>
unsigned int reverse_bit(unsigned int value)
{
int i = 0;
unsigned int num = 0;
for (i = 0; i < 32; ++i)
{
if (value & (1 << i))
{
num += (1 << (31 - i));
}
}
return num;
}
int main()
{
printf("%x\n", 25);
printf("%x\n", reverse_bit(25));
system("pause");
return 0;
}
#include <stdio.h>
#include <stdlib.h>
int main()
{
int arr[] = {1, 1, 2, 2, 3, 3, 4, 4, 5, 5, 6};
int i = 0;
int x = 0;
for (i = 0; i < sizeof(arr) / sizeof(arr[0]); ++i)
{
x = x ^ arr[i];
}
printf("%d\n",x);
system("pause");
return 0;
}
有一个字符数组的内容为:“student a am i”, 请你将数组的内容改为"i am a student".
#include <stdio.h>
#include <stdlib.h>
int slen(char* arr)
{
int len = 0;
while (arr[len] != '\0')
{
++len;
}
return len;
}
void reverse(char* left, char* right)
{
while (left < right)
{
char tmp = *left;
*left = *right;
*right = tmp;
++left;
--right;
}
}
void reverse2(char* arr)
{
char* a = arr;
int len = slen(arr);
for (int i = 0; i <= len; ++i)
{
if (arr[i] == ' ' || i == len)
{
reverse(a, &arr[i - 1]);
a = &arr[i + 1];
}
}
}
int main()
{
char arr[] = "student a am i";
reverse(arr, arr + slen(arr) - 1);
reverse2(arr);
for (int i = 0; i < slen(arr); ++i)
{
printf("%c", arr[i]);
}
printf("\n");
system("pause");
return 0;
}
二进制位模式从左到右翻转#include &lt;stdio.h&gt;#include &lt;stdlib.h&gt;unsigned int reverse_bit(unsigned int value){ int i = 0; unsigned int num = 0; for (i = 0; i &lt; 32; ++i) { if (value &amp; (...