这到题目有点搞笑,什么条件也没有,输入数据长度也不知道是多少,开始不知道什么意思,其实就是磁带有0的地方代表二进制里面的1位为1,一行数据代表一个ascll码。
#include <stdio.h>
#include <string.h>
char buffer[20];
char show_string[5000];
char get_char()
{
char num;
num = 0;
if('o' == buffer[9])
num += 1;
if('o' == buffer[8])
num += 2;
if('o' == buffer[7])
num += 4;
if('o' == buffer[5])
num += 8;
if('o' == buffer[4])
num += 16;
if('o' == buffer[3])
num += 32;
if('o' == buffer[2])
num += 64;
return num;
}
int main(void)
{
int count;
gets(buffer);
count = 0;
while(1)
{
gets(buffer);
if(!strcmp(buffer,"___________"))
break;
show_string[count++] = get_char();
}
show_string[count] = '\0';
printf("%s", show_string);
return 0;
}