c++进制转换,函数调用

img

你题目的解答代码如下:

#include<iostream>
using namespace std;

void DecToBin(int n, char b[])
{
    int i, t = 0;
    int v;
    do
    {
        v = n % 2;
        b[t] = v + '0';
        n = n / 2;
        t++;
    } while (n > 0);
    for (i = 0; i < t / 2; i++)
    {
        v = b[i];
        b[i] = b[t - 1 - i];
        b[t - 1 - i] = v;
    };
    b[t] = '\0';
}
int main()
{
    int n;
    char b[500];
    cin >> n;
    DecToBin(n, b);
    cout << b << endl;
    return 0;
}

如有帮助,望采纳!谢谢!

运行结果

img

img

代码如下:

#include <stdio.h>
void DecToBin(int n,char b[])
{
    int i=0,j=0;
    char ch;
    while(n)
    {
        b[i]=n%2+'0';
        n/=2;
        i++;
    }
    b[i] = 0;
    i--;
    while(j<i)
    {
        ch = b[j];
        b[j] = b[i];
        b[i] = ch;
        j++;
        i--;
    }
}

int main()
{
    int n;
    char buf[40];
    scanf("%d",&n);
    DecToBin(n,buf);
    printf("%s",buf);
    return 0;
}

#include <stdio.h>
#include<stdlib.h>
void DecToBin(int n,char b[])
{
    itoa(n,b,2);
}
int main()
{
    int n;
    char buf[40];
    scanf("%d",&n);
    DecToBin(n,buf);
    printf("%s",buf);
    return 0;
}

需要包含头文件stdlib.h