C语言,进制转换之八进制转二进制,完整代码

来源:互联网 发布:网络电视包月怎么取消 编辑:程序博客网 时间:2024/05/16 18:18
#include "iostream"using namespace std;#define MAX 50int main()//八转二{    int elem2[MAX];    char elem8[MAX];    cout << "请输入八进制数,并以‘$’结束:";    int flag = 1;    char ch;    int i = 0;    while (flag)    {        cin >> ch;        if (ch != '$')        {            elem8[i] = ch;            i++;        }        else        {            flag = 0;        }    }    int length1 = i;    int length2 = 0;    int n = 0;    int sum = 0;    for (n = 0; n < length1; n++)//判断是否是八进制数    {        int x = (int)elem8[n];        if (x>=48&&x<=55)            sum++;    }    if (sum == length1)    {        int j = 0;        int number = 0;         int k = 0;        int p = 0;        int m = 0;        int cout = 2;        for (j = 0; j < length1; j++)        {            m = cout;            number = elem8[j] - 48;            if (number != 1)            {                do                {                    elem2[m] = number % 2;                    number = number / 2;                    length2++;                    k++;                    m--;                } while (number>1);                if (k == 2)                {                    elem2[m] = 1;                    length2++;                    m--;                }                else                {                    elem2[m] = 1;                    length2++;                    m--;                    elem2[m] = 0;                    length2++;                    m--;                }                k = 0;            }            else            {                elem2[m] = 1;                m--;                length2++;                for (p = 0; p < 2; p++)                {                    elem2[m] = 0;                    length2++;                    m--;                }            }            cout = cout + 3;        }    }    else    {        cout << "输入的不是八进制数!";    }    cout << "正序输出:";    for (i = 0; i < length2;i++)        cout << elem2[i] << " ";    cout << endl;    return 0;}
阅读全文
0 0
原创粉丝点击