这个程序哪里出问题了?为什么运行结果没出来?编译和构建都没有问题啊。
这是源代码:vc++6.0的编译环境
#include
#include
int out(int p);
void main(){
int a[1],b[7],m=0,j=0,i,n,p;
printf("请输入一个十进制整数n:");
scanf("%d",&n);
do{
a[i++]=n%2;
n/=2;
} while (n!=0);
printf("n的二进制数为:");
for(i--;i>0;i--){
printf("%d",a[i]);
b[j]=a[i];}
printf("\n");
for(j=0;j<8;j++){
if(b[j]=1){
b[j]=10;
printf("1→10");}
printf("0→0");
}
b[2]=1; //j=j+1;
b[3]=1; //j=j+1;
b[4]=0; // j=j+1;
b[5]=0; //j=j+1;
printf("二进制展开为:");
for(j=0;j<=i+4;j++){
printf("%d",b[j]);
}
printf("\n");
p=b[j];
while(m!=101){
j++;
if(m==0&&b[j]==1) {m=1; b[j]=0; out(p);}
if(m==1&&b[j]==0) {m=0; b[j]=1; out(p);}
if(m==1&&b[j]==1) {m=10; b[j]=0; out(p);}
if(m==10&&b[j]==0) {m=11; b[j]=1; out(p);}
if(m==11&&b[j]==0) {m=101; b[j]=1; out(p);}
}
/*for(j=0;j<=i+1;j++){
//b[0]
m=b[j];
switch(m){
case 0:
printf("内态为0,输入为0 ");
for(j=0;j<=i+1;j++)
printf("%d",b[j]);
printf("\n"); break;
case 1:
printf("内态为0,输入为1 ");
b[j]=0;
for(j=0;j<=i+1;j++)
printf("%d",b[j]);
printf("\n");
switch
}
*/
system("pause");
}
int out(int p ){
printf("结果为:\n");
//for(j=0;j<=i+4;j++)
printf("%d",p);
printf("\n");
return 0;
}
运行结果图片帖不过来。