设计一个c语言算法,将顺序串中所有值为c1的字符换成值为c2的字符。代码至少加1-2个注释,对关键步骤进行说明并分析算法的时间复杂度和空间复杂度
时间: 2024-12-11 19:24:46 浏览: 15
设计一个C语言算法,可以遍历输入的顺序串(字符串),将其中所有的字符`c1`替换为字符`c2`。以下是这个算法的代码示例:
```c
#include <stdio.h>
#include <string.h>
// 函数声明,接受两个字符c1和c2以及一个指针指向字符串
void replace_char(char *str, char c1, char c2);
int main() {
char input[] = "Hello, World!"; // 测试字符串
char c1 = 'o'; // 需要替换的字符
char c2 = '*'; // 新的字符
replace_char(input, c1, c2); // 调用函数替换字符
printf("Modified string: %s\n", input); // 输出修改后的字符串
return 0;
}
// 替换函数
void replace_char(char *str, char c1, char c2) {
// 通过索引遍历字符串
for (int i = 0; str[i] != '\0'; i++) { // 当遇到字符串结束符'\0'时停止
// 如果当前字符等于c1,则替换为c2,并继续下一次循环
if (str[i] == c1) {
str[i] = c2; // 修改字符
}
}
// 注释:这里不需要额外的空间,因为直接在原数组上操作
}
//
阅读全文