UVa 10878 磁带解码

2014-11-24 08:35:50 · 作者: · 浏览: 0

/*

* 解题思路:

* 此题就是简单的二进制码翻译成字符的题,转换一下即可。

* 注意:得到的字符串不用写换行符、因为得到的字符串中最后一位即为换行符!

*/

#include 
  
   
#include 
   
     int main( ) { int p,q,sum; int i; char ss[ 10000 ]; char s[ 10000 ]; char c; p = q = 0; while( getchar( )!='\n' ); while( ( c=getchar( ) ) != '_' ) { c = getchar( ); p = 0; while( ( c = getchar( )) !='|' && c!='\n' && c!=EOF ) ss[ p++ ] = c; getchar( ); sum = 0; for( i=7;i>=0;i-- ) if( !(i-4) ) continue; else if( ss[ i ] == 'o' && i>4 ) sum += pow( 2 , 7-i ); else if( ss[ i ] =='o' && i<4 ) sum += pow( 2 , 7-i-1); s[ q++ ] = (char)( sum ); } for( i=0;i