11、字母數字混合排序 (吉位元2018秋)
輸入一串字元,包含數字[0-9]和小寫字母[az],要求按數字從小到大,字母從a到z排序,和所有數字排在字母後面
輸入描述:
一串字元
輸出描述:
按規則排序的一串字元
示例1
輸入a31bz
輸出abz13
12、轉換成小寫字母#include
#include
#include
intcmp
(const
void
* a,
const
void
* b)
intmain()
else
if(str[i]
>=
'0'&&str[i]
<=
'9')
}/* for(int i=num2;ifor
(int i=
0;i)printf
("\n");
return0;
}
實現函式 tolowercase(),該函式接收乙個字串引數 str,並將該字串中的大寫字母轉換成小寫字母,之後返回新的字串。
示例 1:
輸入: 「hello」
輸出: 「hello」
示例 2:
輸入: 「here」
輸出: 「here」
示例 3:
輸入: 「lovely」
輸出: 「lovely」
//常規做法 大寫字母和小寫字母的ascii碼相差32 eg:'a'-'a'==32
char
*tolowercase
(char
* str)
}return str;
}
13、最後乙個單詞的長度//使用tolower函式,將大寫字母轉換為小寫字母。
char
*tolowercase
(char
* str)
return str;
}
給定乙個僅包含大小寫字母和空格 』 』 的字串,返回其最後乙個單詞的長度。
如果不存在最後乙個單詞,請返回 0 。
說明:乙個單詞是指由字母組成,但不包含任何空格的字串。
示例:
輸入: 「hello world」
輸出: 5
14、僅僅反轉字母//從後往前讀,第乙個單詞即為字串中的最後乙個單詞。
intlengthoflastword
(char
* s)
給定乙個字串 s,返回 「反轉後的」 字串,其中不是字母的字元都保留在原地,而所有字母的位置發生反轉。
示例 1:
輸入:「ab-cd」
輸出:「dc-ba」
示例 2:
輸入:「a-bc-def-ghij」
輸出:「j-ih-gfe-dcba」
示例 3:
輸入:「test1ng-leet=code-q!」
輸出:「qedo1ct-eelg=ntse-t!」
s.length <= 100
33 <= s[i].asciicode <= 122
s 中不包含 \ or "
//常規做法:使用ascii碼先將字母取出儲存在s中,然後從後往前依次替換s中的字母。
char
*reverseonlyletters
(char
* s)
else
if(s[i]
>=
'a'&&s[i]
<=
'z')
} j=j-1;
//將指標移到最後乙個字母位置
for(
int i=0;
'\0'
!=s[i]
;i++
)else
if(s[i]
>=
'a'&&s[i]
<=
'z')
}return s;
}
//使用isalpha函式判斷是否為字母。
char
*reverseonlyletters
(char
* s)if(
isalpha
(s[r])==
0)tmp=s[l]
; s[l]
=s[r]
; s[r]
=tmp;
l++; r--;}
return s;
}
C語言初級 練習(二)
6 第三大的數 給定乙個非空陣列,返回此陣列中第三大的數。如果不存在,則返回陣列中最大的數。要求演算法時間複雜度必須是o n 示例 1 輸入 3,2,1 輸出 1 解釋 第三大的數是 1.示例 2 輸入 1,2 輸出 2 解釋 第三大的數不存在,所以返回最大的數 2 示例 3 輸入 2,2,3,1 ...
c語言初級
個人是乙個菜鳥,受到影響,來一篇c語言基礎 眾所周知,c語言在如今的社會,對一些工程是很有幫助的,在下哪,雖然是個土八路,就是那種自己學的,我發現這種東西必須深入下去,你才會有飯吃,學習一門技術難度係數是很大的,這不是吹牛,我哪,最喜歡的不是別的,而是專注,我以前不知道,所以學的雜亂無章,現在我覺得...
C語言基礎練習(三)
include void main void i if a left 1 a 如果沒找到起始標誌 a 報錯。printf 請以a開頭 else if a right z 如果找到 a 卻沒找到 z 報錯 else 如果符合要求,輸出。printf d.n right left return incl...