C语言d初学者-基础的三篇代码-7-

C语言d初学者-基础的三篇代码-7-

1.递归方式实现打印一个整数的每一位

#define _CRT_SECURE_NO_WARNINGS 1
#include <stdio.h>
void print(int n)
{
   if (n>9)
      print(n / 10);
   printf("%d ", n % 10);
}
int main()
{
   print(1234);
   system("pause");
   return 0;
}

运行结果

在这里插入图片描述

2.写一个函数返回参数二进制中 1 的个数

#define _CRT_SECURE_NO_WARNINGS 1
#include <stdio.h>
#include <stdlib.h>
int count_one_bit(unsigned int n)
{
   int count = 0;
   while (n)
   {
      if (n % 2 == 1)
        count++;
      n = n / 2;
   }
   return count;
}
int main()
{
   int num = 0;
   printf("请输入:>");
   scanf("%d", &num); 
   int ret = count_one_bit(num);
   printf("ret = %d\n", ret);
   system("pause");
   return 0;
}

运行结果
在这里插入图片描述

3.取一个数二进制序列中所有的偶数位和奇数位,分别输出二进制序列。

#define _CRT_SECURE_NO_WARNINGS 1
void print_num(unsigned value)
{
   int count = 0;//计算二进制 位数
   int a[32] = { 0 };
   int i = 0;
   while (value) 
   {
      a[i++] = value % 2;
      value /= 2;
      count++;
 }
   printf("奇数序列\n");
   for (i = count; i >= 0; i -= 2)
      printf("%d ", a[i]);
   printf("\n");
   printf("偶数序列\n");
   for (i = count - 1; i >= 0; i -= 2)
     printf("%d ", a[i]);
   printf("\n");
}
int main()
{
   printf("获取一个数二进制序列中所有的偶数位和奇数位,分别输出二进制序列(测试数字01011)\n");
   int value = 11;//01011
   print_num(value);
   system("pause");
   return 0;
}

运行结果

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值