3个二进制的比较



#include<stdio.h>

#include<math.h>

#include<ctype.h>

#include<string.h>

int bToD(char str[]);

int main()

{

   
int n1,n2,n3,t;

  
char s1[10],s2[10],s3[10];

  
scanf("%s%s%s",s1,s2,s3);

  
n1=bToD(s1);

  
n2=bToD(s2);

  
n3=bToD(s3);

  
if(n2>n1)

   {

      
t=n2;

      
n2=n1;

      
n1=t;

   }

  
if(n3>n2)

   {

      
t=n3;

      
n3=n2;

      
n2=t;

   }

  
if(n2>n1)

   {

      
t=n2;

      
n2=n1;

      
n1=t;

   }

 

  
printf("%d %d %d",n3,n2,n1);

  
return 0;

}

int bToD(char str[])

{

    
int sum=0,i,n;

     
n=strlen(str);

     
for(i=0;i<n;i++)

     
{

        
sum=sum*2+(str[i]-'0');

     
}

     
return sum;

}



#include<stdio.h>

#include<math.h>

#include<ctype.h>

#include<string.h>

int bToD(char str[]);

int main()

{

   
int n1,n2,n3,t;

  
char s1[10],s2[10],s3[10];

  
scanf("%s%s%s",s1,s2,s3);

  
n1=bToD(s1);

  
n2=bToD(s2);

  
n3=bToD(s3);

  
if(n2>n1)

   {

      
t=n2;

      
n2=n1;

      
n1=t;

   }

  
if(n3>n2)

   {

      
t=n3;

      
n3=n2;

      
n2=t;

   }

  
if(n2>n1)

   {

      
t=n2;

      
n2=n1;

      
n1=t;

   }

 

  
printf("%d %d %d",n3,n2,n1);

  
return 0;

}

int bToD(char str[])

{

    
int sum=0,i,n;

     
n=strlen(str);

     
for(i=0;i<n;i++)

     
{

        
sum=sum*2+(str[i]-'0');

     
}

     
return sum;

}


猜你喜欢

转载自blog.csdn.net/weixin_43918196/article/details/85681012