![](/img/trans.png)
[英]C: How to find that a certain number of characters are present in a string in any sequence?
[英]string abbreviation characters sequence in C
我需要编写一个函数,它接受像“abcdef”这样的字符串并将其转换为“af”,或将“589”转换为“5-9”,我可以使用 stdio.h 和 string.h 中的哪些函数?
您需要找到运行的开始和结束。 如果您将每个角色都视为运行的一部分,则更容易,因此您的运行长度可能为 1 或更长。
当你找到跑步的终点时,你需要根据跑步的长度做不同的事情。
考虑到这一点,我们可以使用以下算法:
您应该在纸上运行上述算法,输入"4abcz35xy"
。 执行此操作时,请跟踪变量的当前值(指针、运行长度和保存的字符)。
+---+---+---+---+---+---+---+---+---+---+---+
|'4'|'a'|'b'|'c'|'z'|'3'|'4'|'5'|'x'|'y'| 0 |
+---+---+---+---+---+---+---+---+---+---+---+
^
Pointer |
+-------+ |
| -----+
+-------+
Run length
+-------+
| |
+-------+
Saved character
+-------+
| |
+-------+
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.