ZZULIOJ.1141: 进制转换

1141: 进制转换

题目描述

将十进制整数n转换成二进制,并保存在字符数组中,最后输出。要求定义并调用convert()函数, 将十进制整数n对应的二进制数存入字符数组str中。

void convert(int n, char str[]);

输入
输入一个非负整数n,n<2^31。

输出
输出一个01字符串,即n对应的二进制数,不含前导0。输出占一行。

样例输入
13

样例输出
1101

#include<stdio.h>
void convert(int n,char str[])
{
    //1142用另一种方法简便 
    int i,t=0,m;
    for(i=0;n!=0;i++)
    {
        str[i]=n%2;
        n=n/2;
        t++;//代表有几位数 
    }
    for(i=t-1;i>=0;i--)
    {
        if(str[i]!=0)
        {
            m=i;//除去零有几位 
            break;
        }
    }
    for(i=m;i>=0;i--)
    {
        printf("%d",str[i]);//倒序输出 
    }
}
int main()
{
    int n,t;
    char str[1000000];
    scanf("%d",&n);
    convert(n,str);
}

猜你喜欢

转载自blog.csdn.net/weixin_43705195/article/details/84404149
今日推荐