如何運行c中每個可能的字符串值?此包括個字符,如'&','%'或'/'。例如,一個3個字符的字符串可以是「aaa」,「a $ f」,「acg」等。運行C中每個可能的字符串值?
-3
A
回答
1
如果您知道預先限制,並且限制較低,則可以使用嵌套循環。例如,對於你字符字符串使用三個嵌套循環,像這樣:
char str[4] = "---";
for (str[0] = ' ' ; str[0] <= 'z' ; str[0]++) {
for (str[1] = ' ' ; str[1] <= 'z' ; str[1]++) {
for (str[2] = ' ' ; str[2] <= 'z' ; str[2]++) {
printf("%s\n", str);
}
}
}
如果你不知道長的前期,你需要使用遞歸。這個想法是在遞歸調用的每個級別實現一個循環,當你處於期望的深度時終止。
char *str = new malloc(n+1);
str[n] = '\0';
all_strings(str, n-1);
void all_strings(char *str, int n) {
if (n == -1) {
printf("%s\n", str);
} else {
for (str[n] = ' ' ; str[n] <= 'z' ; str[n]++) {
all_strings(str, n-1);
}
}
}
+0
你不需要遞歸,除了你需要它來枚舉整數...這就是這個需求,在一個大型的基地。 –
+0
@JimBalter真的,除了在這種情況下的基數很大的情況下:)我也認爲應用嵌套循環或遞歸需要較少的精力來理解需要編寫更多代碼(並且沿途失去一點效率)。 – dasblinkenlight
相關問題
- 1. 每個連接字符串的C#集成測試運行
- 2. 如何分配char *(帶有每個可能的值)到C++字符串
- 3. Java的匹配字符串值,枚舉,有多個字符串匹配的可能性每個枚舉值
- 4. 迭代每行中的一個字(字符串)C++
- 5. 從字符串傳遞n個字符以在C中運行
- 6. C# - 數組中的每個值的分割字符串
- 7. 字符串賦值運算符C++
- 8. C++ 11字符串賦值運算符
- 9. 如何從C#中的字符串中讀取每個字符
- 10. 字符串的數值運算C
- 11. 運行parse_url()在一個字符串可能不包含協議
- 12. C++:如何迭代字符串中的每個字符?
- 13. 如何將字符串值除以另一個字符串值,每個字符串值均包含數字值
- 14. 做字符串列表與每個值的字符串在新行
- 15. 循環訪問數組中的字符,爲每個可能的3個字符組合運行代碼?
- 16. JAVA給一個字符串的每個字符的數值
- 17. C:打印以'a'開始的每個可能的字符串,遞歸函數
- 18. 從包含兩個字符串的字符串數組中獲取所有可能的值c#
- 19. Python:只保留字符串中的每個字符,每個都在換行
- 20. 改變C中一個字符串的大小,有可能嗎?
- 21. 每次運行代碼時都會在字符串中添加一個字符
- 22. C#換行符每n個字符
- 23. 字符串運算符C++
- 24. 如何檢查字符串的多個可能值在Java中
- 25. 多行C#插值字符串字面
- 26. 只運行,如果字符串值沒有設置,每次都在運行
- 27. Python:Split字符串中的每n個字的分割字符串
- 28. 向量的字符串,每個字符串的長度和strlen在C++中
- 29. 每個查詢字符串值
- 30. C#可能比較字符串[] 4其他字符串[]?
幾乎與實現大整數的方式相同。 – nhahtdh
喜歡?你能舉個例子嗎? – Ray
你的問題很含糊。你能否詳細解釋一下?你的意思是你想迭代字符串並測試它中的字符是否屬於某個集合,或者你的意思是別的嗎? – nonsensickle