`
20386053
  • 浏览: 427826 次
文章分类
社区版块
存档分类
最新评论

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

 
阅读更多

课程首页地址:http://blog.csdn.net/sxhelijian/article/details/7910565

【项目4】数组用于进制转换:编一个程序,其中调用函数voidtran(intn,intd)用于将十进制数n转换为d进制数输出,并输出d进制数中最大位值是多少,在第几位。d的取值在2-32之间,数制d超过10时,依次用ABC...代表其基本符号,如对17进制而言,G代表其最大符号,对应十进制的16

  提示:用递归函数完成十进制向d进制的转换是需要掌握的,但对于本题而言,由于要在转换后的各位数上进行查找,建议用数组存放转换后的各位数值。右边是运行示例:

  

参考解答:

#include <iostream>
using namespace std;
void tran(int n, int d);
int main()
{
    tran(1000, 8);
    tran(1000, 24);
    tran(1000, 2);
    return 0;
}

void tran(int n, int d)
{
    int k,a[100],m=0,max,i;
    k=n;
   //下面完成对n(即k)的进制转换
    while(k>0)
    {
        a[m++]=k%d;
        k/=d;
    }
    //由于k用作了n的替身,n在这时还能得以保证其原值
    //转换完的d进制数有m位
    //输出d进制数,同一循环中求各位中的最大值
    max=0;
    cout<<n<<"转换为"<<d<<"进制数为:";
    for(i=m-1; i>=0; i--)
    {
        if(a[i]<10)
            cout<<a[i];
        else
            cout<<char('A'+a[i]-10);
        if(max<a[i]) max=a[i];
    }
    cout<<endl;
    //下面的循环输出第几位上出现了max
    cout<<"各位数中的最大值是 " << ((max<10)?char('0'+max):char('A'+max-10)) << ",出现在第 ";

    for(i=m-1; i>=0; i--)
    {
        if(a[i]==max)
            cout<<m-i<<' '; //i=m-1时, m-i为1,第1位即最大,依此类推
    }
    cout <<"位上。"<<endl;
}



分享到:
评论

相关推荐

    C++Primer视频(初级)下载地址

    第4章创建动态数组 35.第4章新旧代码的兼容 36.第4章多维数 37.第5章算术操作符 38.第5章关系操作符和逻辑操作符 39.第5章位操作符 40.第5章赋值操作符 41.第5章自增和自减操作符 42.第5章箭头操作...

    新手学习C++入门资料

    标准C++中的字符串类取代了C标准C函数库头文件中的字符数组处理函数。 C++中用来做控制态输入输出的iostream类库替代了标准C中的stdio函数库。 C++中的try/catch/throw异常处理机制取代了标准C中的setjmp()和...

    谭浩强C语言程序设计,C++程序设计,严蔚敏数据结构,高一凡数据结构算法分析与实现.rar

    第1章 C++的初步知识 *1.1 从C到C++ *1.2 最简单的C++程序 1.3 C++程序的构成和书写形式 1.4 C++程序的编写和实现 1.5 关于C++上机实践 习题 第2章 数据类型与表达式 2.1 C++的数据类型 2.2 常量 ...

    -C++参考大全(第四版) (2010 年度畅销榜

    第17章 虚函数与多态性 17.1 虚函数 17.2 继承虚属性 17.3 虚函数是分层的 17.4 纯虚函数 17.5 使用虚函数 17.6 早期绑定与后期绑定 第18章 模板 18.1 通用函数 18.2 应用通用函数 18.3 通用类 18.4 关键字typename...

    谭浩强C语言程序设计,C++程序设计,严蔚敏数据结构,高一凡数据结构算法分析与实现.rar )

    第1章 C++的初步知识 *1.1 从C到C++ *1.2 最简单的C++程序 1.3 C++程序的构成和书写形式 1.4 C++程序的编写和实现 1.5 关于C++上机实践 习题 第2章 数据类型与表达式 2.1 C++的数据类型 2.2 常量 ...

    C++大学教程,一本适合初学者的入门教材(part1)

    第17章 预处理器 17.1 简介 17.2 预处理指令#include 17.3 预处理指令#define:符号常量 17.4 预处理指令#define:宏 17.5 条件编译 17.6 预处理指令#error和#pragma 17.7 运算符#和## 17.8 行号 17.9 预...

    Visual C++ 2010入门经典(第5版)--源代码及课后练习答案

    第4章 数组、字符串和指针 139 4.1 处理多个相同类型的数据值 139 4.1.1 数组 140 4.1.2 声明数组 140 4.1.3 初始化数组 143 4.1.4 字符数组和字符串处理 144 4.1.5 多维数组 147 4.2 间接数据访问 150 ...

    C++大学教程,一本适合初学者的入门教材(part2)

    第17章 预处理器 17.1 简介 17.2 预处理指令#include 17.3 预处理指令#define:符号常量 17.4 预处理指令#define:宏 17.5 条件编译 17.6 预处理指令#error和#pragma 17.7 运算符#和## 17.8 行号 17.9 预...

    c语言题库问题和答案.docx

    数组习题(3):完成十进制数转成为二进制数 71%(2795/3951) 30% 2020-4-23 1043 函数习题(8):递归方法求n阶勒让德多项式的值 63%(1671/2652) 38% 2020-4-23 1044 函数习题(9):分解一个整数的所有素数因子 71%(2321/...

    数据结构(C++)有关练习题

    7、 编写一个程序,将10进制数转换为其它(2-9)进制数。可以将要转换的数重复除以基数,然后讲除的余数按反方向排列来实现; 8、 已知A[n]为正数数组,试写出实现下列运算的递归算法; a. 求数组A中的...

    C语言入门经典(第4版)--源代码及课后练习答案

    1.3 编辑第一个程序 4 1.4 处理错误 5 1.5 剖析一个简单的程序 6 1.5.1 注释 6 1.5.2 预处理指令 7 1.5.3 定义main()函数 7 1.5.4 关键字 8 1.5.5 函数体 8 1.5.6 输出信息 9 1.5.7 参数 10 1.5.8 控制符...

    C++复习资料之系列

    17.执行下面语句后,a和b的值分别为( b )。 int a = 5,b = 3,t; int &ra = a; int &rb = b; t = ra;ra = rb;rb = t; (a) 3和3 (b) 3和5 (c) 5和3 (d) 5和5 18. 在下列运算符中,( d )优先级...

Global site tag (gtag.js) - Google Analytics