编写函数 void f(char str[80])要求将字符串中所有数字字符前加以个‘*’,例如输入:g5f78t5f. 输出 g*5f*7*8t*5f
时间: 2023-09-12 14:07:11 浏览: 72
以下是实现该函数的代码:
```c
void f(char str[80]) {
int i, j;
for (i = 0; str[i] != '\0'; i++) {
if (isdigit(str[i])) {
for (j = strlen(str); j > i; j--) {
str[j] = str[j - 1];
}
str[i] = '*';
i++;
}
}
}
```
函数首先遍历字符串中的每个字符,如果该字符是数字,则将该数字之前的所有字符后移一位,并在该数字之前插入一个星号。最后字符串中的每个数字字符都会被替换为星号加数字的形式。
相关问题
C语言 void f(char str[80])要求将字符串中所有数字字符前加以个‘*’,例如输入:g5f78t5f. 输出 g*5f*7*8t*5f
可以使用循环遍历字符串中的每个字符,判断是否为数字字符,如果是,则在该字符前加上一个'*'。可以使用C语言中的isdigit()函数来判断一个字符是否为数字字符。
具体实现代码如下:
```c
#include <stdio.h>
#include <ctype.h>
void add_star(char str[80]) {
int i, j;
for (i = 0, j = 0; str[i] != '\0'; i++, j++) {
if (isdigit(str[i])) {
putchar('*');
j++;
}
putchar(str[i]);
}
}
int main() {
char str[80];
printf("请输入字符串:");
scanf("%s", str);
printf("处理后的字符串为:");
add_star(str);
return 0;
}
```
输入样例:
```
g5f78t5f
```
输出样例:
```
g*5f*7*8t*5f
```
编写一个函数void delchar(char*str,char c),功能为删除字符串str中所有的字符c
当然可以。`delchar` 函数的主要目的是从输入字符串 `str` 中删除所有指定字符 `c` 的实例。下面是一个简单的 C 语言实现示例:
```c
#include <stdio.h>
#include <string.h>
void delchar(char* str, char c) {
int i = 0;
while (str[i] != '\0') { // 遍历整个字符串
if (str[i] != c) { // 如果当前字符不是目标字符
str[i] = str[i+1]; // 将其移动到当前位置
i++; // 移动指针
} else {
i++; // 跳过目标字符
}
}
str[i] = '\0'; // 当遍历完字符串后,在末尾添加空字符终止
}
int main() {
char str[] = "Hello, World!";
char c = 'o';
delchar(str, c);
printf("Modified string without '%c': %s\n", c, str);
return 0;
}
```
这个函数会将字符串 `str` 中的所有字符 `c` 删除,并更新字符串本身。当你运行此程序并传递特定字符时,它将打印出修改后的字符串。
阅读全文