獲取字符串的偶數(shù)位字符 題目將字符串s中位于奇數(shù)位置的字符,或ASCII碼為偶數(shù)的字符放入字符串t中?
題目將字符串s中位于奇數(shù)位置的字符,或ASCII碼為偶數(shù)的字符放入字符串t中?#包括< stdio。H> void strfun(char*s,char*t)//刪除s中ASCII值為偶數(shù)的字
題目將字符串s中位于奇數(shù)位置的字符,或ASCII碼為偶數(shù)的字符放入字符串t中?
#包括< stdio。H> void strfun(char*s,char*t)//刪除s中ASCII值為偶數(shù)的字符,并將結果保存到t。
{
while(*s)//遍歷字符串
{
if(*s%2)//如果字符的ASCII值為奇數(shù)。
{
*t=*s//將字符保存到字符串t。
]}
]s
}
*t=“0”//添加字符串結尾字符。
}Main()
{
char s[100],t[100]get(s)//輸入字符串。
strfun(s,t) //call function
puts(t)//將ASCII值為奇數(shù)的字符輸出到字符串中。
}
這是陳一云習題集的答案:偶數(shù)0偶數(shù)1→(00 | 11)*((01 | 10)(00 | 11)*(01 | 10)(00 | 11)*)*偶數(shù)0奇數(shù)1→偶數(shù)0偶數(shù)1 | 0(00 | 11)*(01 | 10)偶數(shù)0 |偶數(shù)為奇數(shù)的字符串,第一個字符可以是0或1。(1) 如果是1,那么其余的必須是偶數(shù)0和偶數(shù)1(2)。如果是0,那么在幾個00或11之后,必須有一個01或10,以確保0的數(shù)字是偶數(shù),1的數(shù)字是奇數(shù)。如果字符串沒有結束,其余的必須是偶數(shù)0和偶數(shù)1。這樣,正確的正規(guī)定義是:偶數(shù)| 0 |奇數(shù)| 1→偶數(shù)| 0 | 0(00 | 11)*(01 | 10)偶數(shù)| 0 |偶數(shù)| 1。注:*應位于左側(cè)第一個右括號的右上角。為便于書寫,直接寫在:)