我的代码如下: #include <iostream.h>
int suan(unsigned int x) {
while(x!=1) {
if(x%2==0) cout<<0; else cout<<1; x=x/2;
} return x;
}
void main() { unsigned int n; int z;
cin>>n; z=suan(n); cout<<z<<endl;
} 我试过了.我还没那水平,你能帮忙续写出来么?
#include <iostream.h> void suan( unsigned int x ) { if( x % 2 == 0) { suan( x / 2); cout << 0; } else { if ( x > 1) suan( x / 2); cout << 1; } }
void main() { unsigned int n; cin >> n; suan( n );
} 在你的基础上改了下 去掉了循环使用的递归 试了几个小的数字 没有问题