非常经典的C语言趣味题目

下面是“非常经典的C语言趣味题目”的完整攻略。

1.题目描述

题目描述:输入一个正整数n,按十进制输出n的二进制表示,并输出其中1的个数。

2.思路分析

1.输入一个正整数n;
2.将n转换成二进制表示。对于十进制数,可以不断对2取余数和商,然后将余数倒序排列起来就可以得到二进制表示,具体可以使用循环实现;
3.遍历二进制表示,数出其中1的个数。

3.代码实现

#include <stdio.h>

int main() {
    int n;
    printf("请输入一个正整数:");
    scanf("%d", &n);
    int binary[64] = {0};  // 用数组存储二进制位
    int count = 0;  // 记录1的个数
    int i = 0;
    while (n > 0) {
        binary[i] = n % 2;  // 取余存储
        n /= 2;  // 取商,即下一位二进制数
        i++;
    }
    printf("该正整数的二进制表示为:");
    for (int j = i - 1; j >= 0; j--) {
        printf("%d", binary[j]);
        if (binary[j] == 1) {
            count++;
        }
    }
    printf("\n其中1的个数为:%d\n", count);
    return 0;
}

4.示例说明

示例1

输入一个正整数:9

该正整数的二进制表示为:1001

其中1的个数为:2

示例2

输入一个正整数:33

该正整数的二进制表示为:100001

其中1的个数为:2

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:非常经典的C语言趣味题目 - Python技术站

(0)
上一篇 2023年5月23日
下一篇 2023年5月23日

相关文章

  • Linux编译优化必须掌握的几个姿势总结

    下面我会详细讲解“Linux编译优化必须掌握的几个姿势总结”的完整攻略,过程中会包含两条示例说明。 Linux编译优化必须掌握的几个姿势总结 1. 选择正确的编译器 选择合适的编译器对于提升程序的性能至关重要。在编译器选择时,除了考虑编译速度,还应该考虑编译出来的程序的运行速度。常见的编译器有gcc、clang等,其中gcc是一个较为传统的编译器,并且它支持…

    C 2023年5月23日
    00
  • C语言实现餐饮点餐管理系统

    C语言实现餐饮点餐管理系统攻略 简介 餐饮点餐管理系统是一种典型的管理信息系统,它可以帮助餐饮企业实现自动点餐、订单管理、库存管理等功能,提高工作效率和管理水平。本文将介绍如何使用C语言来实现餐饮点餐管理系统。 设计 餐饮点餐管理系统包括客户端和服务器两个部分,客户端用来处理用户的点餐请求,服务器用来处理订单、库存等管理信息。下面是系统设计的步骤: 客户端的…

    C 2023年5月23日
    00
  • 2015新MacBook配件及主机购买详细攻略

    2015新MacBook配件及主机购买详细攻略 介绍 本攻略旨在向广大MacBook用户详细介绍2015年新款MacBook的配件购买及主机购买的注意事项,帮助大家更好地了解和选购自己需要的产品。 配件购买攻略 1. 手机壳 新款MacBook的外壳较易划伤,建议购买一款手机壳来保护外壳。 根据使用情况和个人喜好,推荐以下两款手机壳: Moshi iGlaz…

    C 2023年5月23日
    00
  • C++线程中几类锁的详解

    C++线程中几类锁的详解 前言 在多线程编程中,锁是一种重要的同步机制,可以保证多个线程在访问共享资源时的安全性。C++提供了多种类型的锁,本篇文章将对常用的几种锁进行详解。 互斥锁(mutex) 互斥锁是最常用的一种锁,它保证同一时刻只有一个线程可以访问共享资源。当一个线程获得锁时,其他线程将一直等待直到拥有锁的线程释放锁为止。 创建互斥锁 C++标准库提…

    C 2023年5月22日
    00
  • c4droid怎么安装 c4droid安装教程及使用说明

    C4droid是什么? C4droid是一款在安卓手机上运行C/C++代码的开发环境,它拥有完整的C/C++语言库,支持多文件编程、自动补全代码、调试程序等多种功能。在安卓上安装C4droid,可以让你在手机上随时随地编写并执行C/C++程序代码。 C4droid的安装 安装C4droid需要以下几个步骤: 步骤一:下载安装C4droid 在安卓市场或者官网…

    C 2023年5月23日
    00
  • 邻接表无向图的Java语言实现完整源码

    如果要实现一个邻接表无向图的Java程序,需要进行以下几个步骤: 1. 定义节点类 首先定义一个节点类来存储图中的每个节点以及它们之间的关系(边): class Node { int label; // 节点编号 List<Node> edges = new LinkedList<>(); // 存储与该节点相连的边 Node(int…

    C 2023年5月22日
    00
  • C++深入探究类与对象之友元与运算符重载

    C++深入探究类与对象之友元与运算符重载 友元(friend)是 C++ 中比较特殊的概念,它可以使一个类中的非成员函数访问类的私有成员,非常适合于一些特殊的应用场景。本文将深入讲解 C++ 中友元的使用方法并结合示例进行说明。 友元的概念 在 C++ 中,我们可以使用关键字 friend 定义友元,其作用是允许其他类或者函数访问该类的私有成员。简而言之,友…

    C 2023年5月22日
    00
  • 进一步理解Java中的多态概念

    我将给出“进一步理解Java中的多态概念”的完整攻略。在这里,我将首先给出对多态的基本概念和含义的解释;然后,给出两个示例来说明如何实现多态。最后,为了更好的理解,我将解释多态的实际应用场景。 多态的概念和含义 在Java编程中,实现多态通常是通过继承和方法重写来实现的。具体来说,多态是指通过父类引用指向不同子类对象时,对同一方法的调用会产生不同的结果。同时…

    C 2023年5月23日
    00
合作推广
合作推广
分享本页
返回顶部