UVA 445 - Marvelous Mazes

本文介绍了一种使用getchar()函数处理特殊格式输入并还原迷宫的算法实现。该算法能够处理连续重复的字符,并将其正确地展示出来。通过累加数字和循环输出字符的方式实现了对输入数据的有效解析。

这题的大意是给你一个字符串,还原迷宫。5T表示5个连续的T,其他如此类推。!代表回车。特别要注意!!这里说b代替空格,是说在输入数据里的b就是空格,不同之前那题只是好看,UVA实在阴险。

思路:getchar()的强大在这题中完美体现。什么都能读进来。只要读到数字就先累加起来,遇到字符后就循环输出之前累加的数量,这时记得要清零。其他什么的照读照输,getchar()就是好用。

 

 

#include<stdio.h>
#include<string.h>
int main()
{
    int i,temp,sum=0,j;
    char c;
    while((c=getchar())!=EOF)
    {
		if(c=='b')
			c=' ';
        if(c>='0'&&c<='9')
        {
            sum+=c-'0';
        }
        else
        {
            if(c!='\n'&&c!='!')
            {
                for(i=0;i<sum;i++)
                {
                    printf("%c",c);
                }
            }
            else printf("\n");
            sum=0;
        }
    }
    return 0;
}


 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值