Time Limit: 1 secs, Memory Limit: 256 MB
Description
输入一个非负的十进制整数,将其转为二进制.
Input
输入的第一行是一个整数T,表示总共有T组数据.
接下来的T行,每行是一组数据,每组数据是一个待转换的十进制整数n(0<=n<2^31).
Output
对于每个十进制数,输出其对应的二进制数,每个数占一行. 注意输出的二进制数不要有多余的前导0.
Sample Input
3
4
1
20
Sample Output
100
1
10100
Problem Source
计算机科学与技术专业11级3班期中考试
^_^ Just do it!
#include <iostream>
#include <stack>
using namespace std;
int main()
{
int T, N;
string str;
cin >> T;
while (T--)
{
str.clear();
cin >> N;
if (N == 0){
cout << 0 << endl;
continue;
}
while (N != 0)
{
str += N % 2 + 48;
N /= 2;
}
for (int i = str.size() - 1; i >= 0; i--)
cout << str[i];
cout << endl;
}
return 0;
}