2013级C++第17周项目【项目4】数组用于进制转换

/*
* 程序的版权和版本声明部分
* Copyright (c)2013, 在校学生
* All rightsreserved.
* 文件名称: 项目4.cpp
* 作    者:刘旺
* 完成日期:2014年3月13日
* 版本号: v1.0
*
* 输入描述:
* 问题描述:编一个程序,其中调用函数void tran(int n, int d)用于将十进制数n转换为d进制数输出,
*           并输出d进制数中最大位值是多少,在第几位。d的取值在2-32之间,数制d超过10时,
*           依次用ABC...代表其基本符号,如对17进制而言,G代表其最大符号,对应十进制的16。
* 程序输出:
* 问题分析:
*/
#include <iostream>
using namespace std ;

void tran(int n, int d) ;
int main()
{
    cout << "1000的" << "2进制数为:" ;
    tran(1000,2) ;
    cout << endl ;
    cout << "1000的" << "8进制数为:" ;
    tran(1000,8) ;
    cout << endl ;
    cout << "1000的" << "24进制数为:" ;
    tran(1000,24) ;
    cout << endl ;
    return 0 ;
}

void tran(int n, int d)
{
    char a[20] ;
    int i=0,j,k ;
    while(n != 0)
    {
        a[i] = n%d+48 ;
        if(a[i]>58){a[i]=a[i]+7;}
        n = n/d ;
        i++ ;
    }
    for(j=i-1; j>=0; j--)
    {
        cout << a[j] ;
    }
}

我感觉进制转换确实是个经典题十分有意思,这个题在学c中做过也有点映像,所以现在写出来感觉心情不错。come on!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值