uva 10878 Decode the tape

这到题目有点搞笑,什么条件也没有,输入数据长度也不知道是多少,开始不知道什么意思,其实就是磁带有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;
}


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值