用字符指针作函数参数编程实现如下功能:在字符串中删除与某字符相同的字符。 **提示信息: "Input a string:" "Input a character:" **输入格式要求:"%s" **输出格式要求:"Results:%s\n" 程序运行示例1如下: Input a string:hello,world! Input a character:o Results:hell,wrld!
时间: 2023-12-03 20:46:13 浏览: 34
下面是代码实现:
```c
#include <stdio.h>
void delete_char(char *str, char ch) {
int i, j;
for (i = 0, j = 0; str[i] != '\0'; i++) {
if (str[i] != ch) {
str[j] = str[i];
j++;
}
}
str[j] = '\0';
}
int main() {
char str[100], ch;
printf("Input a string:");
scanf("%s", str);
printf("Input a character:");
scanf(" %c", &ch);
delete_char(str, ch);
printf("Results:%s\n", str);
return 0;
}
```
首先在 `main` 函数中读入字符串和待删除的字符,然后调用 `delete_char` 函数进行字符删除操作。在 `delete_char` 函数中,使用双指针法对字符串进行遍历和修改,当当前字符不等于待删除的字符时,将其复制到新的位置,最终再在末尾插入字符串结尾符号 `\0` 以结束字符串。
注意在读入字符时要注意加上一个空格,以避免读入上一次输入时的回车符。
相关问题
用字符数组作函数参数编程实现如下功能:在字符串中删除与某字符相同的字符。 **提示信息: "Input a string:" "Input a character:" **输入格式要求:"%s" **输出格式要求:"Results:%s\n"
以下是实现该功能的代码:
```c
#include <stdio>
#include <string.h>
void deleteChar(char str[], char ch);
int main() {
char str[100];
char ch;
printf("Input a string:");
scanf("%s", str);
printf("Input a character:");
scanf(" %c", &ch);
deleteChar(str, ch);
printf("Results:%s\n", str);
return 0;
}
void deleteChar(char str[], char ch) {
int i, j;
int len = strlen(str);
for (i = 0, j = 0; i < len; i++) {
if (str[i] != ch) {
str[j++] = str[i];
}
}
str[j] = '\0';
}
```
该程序首先提示用户输入一个字符串和一个字符,然后调用 `deleteChar()` 函数,将字符串中与该字符相同的字符删除。最后输出处理后的字符串。
`deleteChar()` 函数的实现很简单,使用两个指针 `i` 和 `j` 分别指向原字符串和新字符串,遍历原字符串中的每个字符,如果该字符不等于给定字符,则将其复制到新字符串中。最后在新字符串的结尾处添加一个空字符结束字符串。
用字符指针作函数参数编程实现字符串逆序存放功能。 输入提示信息:"Input a string:" 输入字符串用gets() 输出提示信息:"Inversed results:%s\n"
以下是代码实现:
```c
#include <stdio.h>
#include <string.h>
void reverse_string(char *str);
int main() {
char str[100];
printf("Input a string:");
gets(str);
reverse_string(str);
printf("Inversed results:%s\n", str);
return 0;
}
void reverse_string(char *str) {
int len = strlen(str);
int i, j;
for (i = 0, j = len - 1; i < j; i++, j--) {
char temp = str[i];
str[i] = str[j];
str[j] = temp;
}
}
```
输入一个字符串,然后调用 `reverse_string` 函数对其进行逆序操作,最后输出逆序后的结果。注意,需要使用字符指针作为函数的参数,以便在函数内部修改字符串的内容。