c语言怎么将字符串中的+改写成-
时间: 2023-06-02 08:08:24 浏览: 154
您可以使用C语言中的字符串函数strchr()和strtok()来实现将字符串中的+改写成-。首先,使用strchr()找到字符串中的+,然后使用strtok()来分割字符串,将+替换成-,最后拼接字符串即可。以下是代码示例:
```
#include <stdio.h>
#include <string.h>
int main() {
char str[] = "12+34+56";
char *ptr = NULL;
ptr = strchr(str, '+');
while(ptr != NULL) {
*ptr = '-';
ptr = strchr(ptr, '+');
}
printf("%s", str);
return 0;
}
```
运行结果为:"12-34-56"。
相关问题
如何用C语言编写一个函数tolower,它将字符串中的大写字母改写成小写字母,并返回总共改写的字符个数。字符串由参数传递而来。
可以使用以下函数编写tolower:int tolower (char *s) {int count = 0;while (*s != '\0') {if (*s >= 'A' && *s <= 'Z') {*s = *s + 32; count++;}s++;return count;}
用C语言编写自定义函数实现以下功能:把字符串中所有的字母改写成该字母的下一个字母,字母z改写成字母 a。大写字母仍为大写字母,小写字母仍为小写字母,其它的字符不变。转换过程在自定义函数中完成,在主函数中输入字符串并输出结果。
下面是用C语言编写的实现代码:
```c
#include <stdio.h>
#include <ctype.h>
void convert(char *str);
int main()
{
char str[100];
printf("请输入一个字符串:");
fgets(str, 100, stdin);
convert(str);
printf("转换后的字符串为:%s", str);
return 0;
}
void convert(char *str)
{
while(*str)
{
if(isalpha(*str))
{
if(*str == 'z' || *str == 'Z')
{
*str = *str - 25;
}
else
{
*str = *str + 1;
}
}
str++;
}
}
```
在这个程序中,我们定义了一个 `convert()` 函数,它接受一个字符串作为参数并修改该字符串以进行转换。
首先,我们使用 `while(*str)` 循环遍历整个字符串。然后,我们使用 `isalpha()` 函数检查当前字符是否是字母。如果是,我们检查它是否是字母 z 或 Z,如果是,我们将其转换为 a 或 A,否则将该字符加 1。最后,我们将指针 `str` 向前移动一位,以便处理下一个字符。
在主函数中,我们使用 `fgets()` 函数从标准输入读取一个字符串,并将其传递给 `convert()` 函数进行转换。最后,我们输出转换后的字符串。
阅读全文