HDU 2051 Bitset

Problem Description
Give you a number on base ten,you should output it on base two.(0 < n < 1000)

Input
For each case there is a postive number n on base ten, end of file.

Output
For each case output a number on base two.

Sample Input
1
2
3

Sample Output
1
10
11

1.利用进制转化的原理
/*
简单题简单写
代码也是一种艺术 
*/ 
#include<stdio.h>
int main(){
    int n,x[100];
    //如果n=0 跳出循环  
    while(scanf("%d",&n)!=EOF && n){

        //小技巧,使用x[0]作为计数器 剩下一个变量 嘿嘿~  
        x[0]=0;
        //十进制转二进制原理  
        while( n ) {
            x[ ++x[0] ]=n%2;
            n=n/2;
        }
        //i啥时候用啥时候定义  
        for(int i=x[0] ; i>=1 ; i--)
            printf("%d",x[i]);

        printf("\n");
    }   
}
2.直接输出就好,自己可以查查itoa()函数的用法
#include<stdio.h>
#include<stdlib.h>
int main(){
    int x;
    char s[4];
    while(scanf("%d",&x)!=EOF && x)
        itoa(x,s,2),printf("%s\n",s); 
} 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值