UVa 10878 磁带解码

来源:互联网 发布:centos设置防火墙端口 编辑:程序博客网 时间:2024/06/11 04:05

/*

* 解题思路:

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

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

*/

#include <stdio.h>#include <math.h>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<q;i++)        printf("%c",s[ i ] );    return 0;}


0 0
原创粉丝点击