zoukankan      html  css  js  c++  java
  • 第4关:十进制数转换为二进制数

    任务描述

    本关任务:编写程序实现十进制整数转化为二进制整数。要求十进制数从键盘输入,整数的范围为12147483647(2^31-1)

    相关知识

    为了完成本关任务,你需要掌握:1.数组的赋值与访问方法,2.十进制转化为二进制的方法。

    程序分析

    本任务需要定义一个数组,根据题意可知,数组大小应该为32个元素,因2147483647321

    实现方法为,假设输入的整数为a,则当a <=0||a>2147483647,输出input error!

    假设a在规定范围内,则使a循环除以2取余数,并将求出的余数依次存入数组,最后逆序输出即可。

    数组声明语句如下:

    int[] c = new int[32];//声明一个int型数组并动态初始化其大小为32

    逆序输出数组

    通俗的理解,逆序输出数组就是:把数组中的元素从下标最大值开始逆向输出到下标为0。

    示例如下:

    1. int[] arr = {1,3,5,7,9};
    2. for(int i = 4; i>=0; i--){
    3. Console.WriteLine("{0}",arr[i]);
    4. }

    输出:97531

    编程要求

    根据提示,在右侧编辑器补充代码,计算并输出转换后的二进制数。

    测试说明

    平台会对你编写的代码进行测试:

    测试输入:

    4

    预期输出:

    100

    测试输入:

    10

    预期输出:

    1010

    测试输入:

    1024

    预期输出:

    1000000000

    测试输入:

    -10

    预期输出:

    input error!

    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;
    using System.Threading.Tasks;
    
    namespace ch704
    {
        class Program
        {
            static void Main(string[] args)
            {
    			/******begin*******/
    			int n = Convert.ToInt32(Console.ReadLine());
                if (n <= 0 || n > 2147483647)
                {
                    Console.WriteLine("input error!");
                    return;
                }
                Stack<int> s = new Stack<int>();
                while (n != 0)
                {
                    s.Push(n % 2);
                    n /= 2;
                }
    
                while (s.Count != 0)
                {
                    Console.Write(s.Peek());
                    s.Pop();
                }
                Console.WriteLine();
    			
    			
    			/*******end********/
    
            }
        }
    }
    

      

  • 相关阅读:
    PHP-redis命令之 列表(lists)
    PHP-redis命令之 散列(hashes)
    PHP-redis命令之 字符串 (strings)
    CentOS 7.0:搭建SVN服务器
    Redis 数据类型分析 字符串 哈希 列表 集合 有序集合 优缺点 分析 注意事项 存储结构
    CentOS 7安装配置Redis数据库
    封装微信分享到朋友/朋友圈js
    PHP 微信分享(及二次分享)
    Ajax登陆,使用Spring Security缓存跳转到登陆前的链接
    IDEA thymeleaf ${xxx.xxx}表达式报错,红色波浪线
  • 原文地址:https://www.cnblogs.com/mjn1/p/12452171.html
Copyright © 2011-2022 走看看