每日一题(づ ̄3 ̄)づ╭❤~(数字在升序数组中出现的次数,整数转换)
# define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
int main()
{
int arr[] = {1,3,3,4,5,5,5,7};
int n = 0;
int count = 0;
int sz=sizeof(arr)/sizeof(arr[0]);
printf("请输入你要查找的数值:\n");
scanf("%d", &n);
for (int i = 0; i < sz; i++)
{
if (n == arr[i]) {
count++;
}
}
printf("%d", count);
return 0;
}
int GetNumberOfK(int* nums, int numsLen, int k ) {
int count = 0;
for (int i = 0; i < numsLen; i++) {
if (nums[i] == k)
count++;
}
return count;
}
#include <stdio.h>
// 函数声明
int countBitsToChange(int A, int B);
int main() {
int A = 10; // 示例整数A
int B = 13; // 示例整数B
int changes = countBitsToChange(A, B);
printf("需要改变 %d 个位才能将整数 %d 转换为整数 %d。\n", changes, A, B);
return 0;
}
// 函数定义
int countBitsToChange(int A, int B) {
int changes = 0;
int xorResult;
// 对A和B进行异或操作,得到不同位的掩码
xorResult = A ^ B;
// 统计异或结果中1的个数,即需要改变的位数
while (xorResult != 0) {
if (xorResult & 1) { // 检查最低位是否为1
changes++;
}
xorResult >>= 1; // 右移一位
}
return changes;
}
今天的每日一题到此结束,俺们下次再会!