c++简单问题(100分)

来源:百度知道 编辑:UC知道 时间:2024/05/29 09:52:56
输入一个整数n,输出一些n位数,每一位上的数字只有0或1。

c++!!!

谢谢 !!!!

//其他人都没明白楼主的意思,我理解是这样的:
//num表示n位数的个数,这里生成2~20个。
//每一位上的数字只有0或1,并且最高位固定为1。

#include <iostream>
using namespace std;
#include <ctime>

int main()
{
int n,num,i,k;

srand(time(NULL));
cout<<"请输入一个整数:";
cin>>n;

num=rand()%18+2;
for(i=0;i<num;i++)
{
cout<<1;
for(k=1;k<n;k++)
{
cout<<rand()%2;
}
cout<<endl;
}
return 0;
}

//楼上的程序我这里调试有错误
//下面是调试过的、
//高手,佩服
#include <iostream>
using namespace std;
void binary(int n)
{
int c = n;
int num=sizeof(n)*8;
int temp=0;
for(int i=0;i<num;i++)
{
temp=n&(1<<num-1);
if(i>(num-c-1))
{
if(temp)
cout<<"1";
else cout<<"0";
}
n=n<<1; //动n
}
cout<<endl;

}