奇妙的迷宫
| Time Limit: 1000MS |
Memory Limit: 65535KB |
| Submissions: 6 |
Accepted: 1 |
Sample Input
1T1b5t!1T2b1t1b2T!1T1b1t2b2T!1T3b1T1b1T!3T3b1t!1T3b1T1b1T!5T1*1T
11x21b1x
4x1b1x
Sample Output
T TTTTT
T T TT
T T TT
T T T
TTT T
T T T
TTTTT*T
XX X
XXXX X
注意:
1、格式问题,对'!'再加回车的处理
或者换成数组输入,也是一样的
# include<stdio.h>
# include<string.h>
int main()
{
char ch;
int sum =0,cnt;
int leap=0;
char c;
while((ch=getchar())!=EOF)
{
if(ch>='0'&&ch<='9')
{
if (!leap)
{
leap=1;
sum = 0;
}
sum+=ch-'0';
}
else
{
leap=0;
if(ch>='a'&&ch<='z'&&ch!='b')//将除b以外的小写转换成大写,strupr只能处理字符串
ch-=32;
if(ch=='\n'&&c=='\n')continue;//在这里PE了好几次,如果先有'!',再按下回车,就不用计入了
switch(ch)
{
case 'b':c = ' ';break;
case '!':c = '\n';
sum = 1;
break;
case '\n':c= '\n';
sum = 1;
break;
default :c = ch;break;
}
cnt=sum;
while(cnt--)//这里不能用sum,否则当while停止后,sum就为-1,就会继续不停地循环
printf("%c",c);
}
}
return 0;
}