九度OJ 题目1138:进制转换



一.题目描述:
将一个长度最多为30位数字的十进制非负整数转换为二进制数输出。
输入:
多组数据,每行为一个长度不超过30位的十进制非负整数。
 (注意是10进制数字的个数可能有30个,而非30bits的整数)
输出:
每行输出对应的二进制数。
样例输入:

 0
1
3
8
样例输出:

0
1
11
1000

二.题目分析

     模拟长整数除法

三.代码

#include 
#include 
#include 
int main()
{
    int num[31],i,j,yu[100];
    char str[31];
    while(scanf("%s",str)!=EOF)
    {
        for(i=0;str[i];i++)
            num[i]=str[i]-'0';

        int jie=0,len=i,j=0,temp; //000000
        while(1)
        {
            i=0;
            while(num[i]==0&&i=0;i--)  //余数逆序输出
                printf("%d",yu[i]);
            printf("\n");
        }
    }
    return 0;
}


你可能感兴趣的:(九度OJ)