004_栈事例2(进制转化)

using System;
using System.Collections;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace CStack
{
    class example_02
    {
        static void Main() {

            int num, baseNum;
            Console.WriteLine("输入一个数字");
            num = Convert.ToInt32(Console.ReadLine());
            Console.WriteLine("输入一个base");
            baseNum = Convert.ToInt32(Console.ReadLine());
            Console.WriteLine(num+"Convert to:");
            MulBase(num, baseNum);
            Console.WriteLine("base"+baseNum);

            Console.ReadLine();
        }

        /// <summary>
        /// 进制转换
        /// </summary>
        /// <param name="n">给定的数字</param>
        /// <param name="b">进制</param>
        static void MulBase(int n,int b) {
            Stack Digits = new Stack();

            do
            {
                Digits.Push(n%b);//获取余数
                n /= b;//获取商
            } while (n!= 0);

            //打印进制变换后的数字
            while (Digits.Count>0)
            {
                Console.Write(Digits.Pop());
            }
        }
    }
}
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容