字串處理(計蒜客 解碼)

2021-07-28 11:20:40 字數 1123 閱讀 8015

蒜頭君自己發明了一種字串的編碼方式,對於只含有大小寫字母的字串,可以用數字來表示括號裡面的串連續出現的次數(數字有可能超過一位數)。比如a(abcd)2等價於aabcdabcd。特別地,如果數字前面沒有括號,表示緊貼數字的前面的 乙個字母 出現的次數。比如abc2表示abcc。為了降低解碼的難度,蒜頭君保證括號 不會巢狀。

蒜頭君把這個編碼方式告訴了花椰妹,然後蒜頭君在紙條上寫下了要對花椰妹說的話。現在花椰妹希望你幫她完成解碼,看看蒜頭君對她說了什麼。

輸入一行字串,只含有大小寫字母、數字和小括號。字串長度不大於 100010

00,保證輸入字串合法。

輸出一行,表示蒜頭君對花椰妹說的話。保證輸出字串長度不大於 10000010

0000

。 樣例輸入1

j2s2k2

樣例輸出1

jjsskk

樣例輸入2

a10

樣例輸出2

aaaaaaaaaa

這題要注意的地方是他的數字有可能不止一位。

#include #include int main(void)

;//s1是要解碼的字串

char s2[1000] = ;//s2用來儲存()內的字串

gets(s1);

for(int i = 0; i < strlen(s1); i++)

i++;

if(!(s1[i+1] >= '0' && s1[i+1] <= '9'))//這裡的if else判斷')'後面的數是否是兩位數

}else

i++;

}memset(s2, '\0', sizeof(s2));//初始化s2

} else if(s1[i] >= '0' && s1[i] <= '9')

}else

i++;

}} else if(!(s1[i+1] >= '0' && s1[i+1] <='9'))

}return 0;

}

計蒜客 解碼

蒜頭君自己發明了一種字串的編碼方式,對於只含有大小寫字母的字串,可以用數字來表示括號裡面的串連續出現的次數 數字有可能超過一位數 比如a abcd 2等價於aabcdabcd。特別地,如果數字前面沒有括號,表示緊貼數字的前面的 乙個字母 出現的次數。比如abc2表示abcc。為了降低解碼的難度,蒜頭...

計蒜客 字串長度

時間限制1000ms 記憶體限制65536k 在右側我們給出了乙個已經基本完成的程式,讀入了乙個字串,呼叫了乙個叫str len的函式來計算這個字串的長度,並輸出。聰明的你應該已經發現了,這個叫str len的函式並沒有完成,在不修改函式原型的情況下,請完成str len函式,實現我們上述的功能吧。...

計蒜客 字串長度

字串長度 在右側我們給出了乙個已經基本完成的程式,讀入了乙個字串,呼叫了乙個叫str len的函式來計算這個字串的長度,並輸出。聰明的你應該已經發現了,這個叫str len的函式並沒有完成,在不修改函式原型的情況下,請完成str len函式,實現我們上述的功能吧。樣例輸入abcdefg 樣例輸出7 ...