2009年2月7日 星期六

Q445: Marvelous Mazes

// Run time: 0.000
#include <stdio.h>
#include <string.h>
#include <ctype.h>
int main()
{
char str[1000];
char ch;
int len;
int cnt;
int i;

while (gets(str) != NULL)
{
len = strlen(str);
cnt = 0; // 數字算 位數和 要用

// if enter only, and then a newline
if (!len)
{
putchar('\n');
continue;
}


for ( i = 0; i < len; i++)
{
if (isdigit(str[i]))
cnt += str[i] - 48; // 如果是數字就把每位數加起來
else
if (str[i] == '!') // 如果是 ! 就要換行
putchar('\n');

// 如果現在讀的是一個 A~Z or b(which is a blank)
else
{
if (str[i] == 'b') // if blank
ch = ' ';
else
ch = str[i];

while (cnt--)
printf("%c", ch);

cnt = 0;
}
}
putchar('\n');

}
}

沒有留言: