|
C语言,输入一串字符到数组中,再输入一个字符,将字符串中与此字符相同的字符删除,并统计被删除字符的个数。
下面是一个示例的C语言代码,实现了输入一串字符到数组中,再输入一个字符,将字符串中与此字符相同的字符删除,并统计被删除字符的个数的功能:
-
- #include <stdio.h>
- #include <string.h>
- void deleteChar(char str[], char ch, int *count) {
- int len = strlen(str);
- int i, j;
- for (i = 0, j = 0; i < len; i++) {
- if (str[i] != ch) {
- str[j] = str[i];
- j++;
- } else {
- (*count)++;
- }
- }
- str[j] = '\0';
- }
- int main() {
- char str[100];
- char ch;
- int count = 0;
- printf("Enter a string: ");
- fgets(str, sizeof(str), stdin);
- printf("Enter a character: ");
- scanf("%c", &ch);
- deleteChar(str, ch, &count);
- printf("Modified string: %s\n", str);
- printf("Number of deleted characters: %d\n", count);
- return 0;
- }
复制代码 在这个示例中,我们首先定义了 deleteChar 函数,它接受一个字符数组 str 、一个字符 ch 和一个整数指针 count 作为参数。该函数遍历字符串,将与字符 ch 不相同的字符移动到数组的前面,并用 \0 截断字符串。同时,每当遇到与字符 ch 相同的字符时, count 会自增。
在 main 函数中,我们首先输入一串字符到数组 str 中,然后输入一个字符 ch 。接下来,调用 deleteChar 函数进行删除操作,并统计被删除字符的个数。最后,输出修改后的字符串和被删除字符的个数。
请注意,这个示例假设输入的字符串长度不超过数组的大小。如果需要处理更长的字符串,可以根据实际需求进行调整。
代码运行如下:
|
|