题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2051
进制转换问题:
#include <cstdlib> #include <iostream> using namespace std; int main(int argc, char *argv[]) { int n; int a[12]={0}; while(cin>>n) { int k=0;//变量k记录余数的个数 //for循环的条件有点问题,n除到最后肯定等于零,且余数为1(因为是二进制), //所以,把n/2=0单独拿出来了,见下面。 for(;n/2!=0;n=n/2) { a[i]=n%2; i++; k++; } //下边是 n/2=0时的情况输出1; cout<<1; for(int i=k-1;i>=0;i--) cout<<a[i]; cout<<endl; } system("PAUSE"); return EXIT_SUCCESS; }