c语言中编写一个函数,用来删除字符串中的所有空格,要求在主函数中输入一个字符串,删除所有空格 后的字符串在主函数中输出。
时间: 2023-05-16 18:05:39 浏览: 376
以下是 C 语言中删除字符串中所有空格的函数代码:
```c
#include <stdio.h>
#include <string.h>
void removeSpaces(char *str)
{
int i, j;
for (i = 0, j = 0; str[i]; i++)
{
if (str[i] != ' ')
str[j++] = str[i];
}
str[j] = '\0';
}
int main()
{
char str[100];
printf("请输入一个字符串:");
fgets(str, sizeof(str), stdin);
removeSpaces(str);
printf("删除空格后的字符串为:%s", str);
return 0;
}
```
输入一个字符串后,调用 `removeSpaces()` 函数删除其中的所有空格,然后在主函数中输出删除空格后的字符串。
注意:这个函数只能删除空格,不能删除其它空白字符,如制表符等。
相关问题
用C语言编写一个函数,统计字符串中字母数字空格和其他字符的个数,在主函数中调用该函数完成统计字符串输入以及结果输出
以下是用C语言编写的函数,可以实现统计字符串中字母、数字、空格和其他字符的个数:
```c
#include <stdio.h>
#include <ctype.h>
void count_chars(char *str, int *alpha, int *num, int *space, int *other) {
char c;
while (*str != '\0') {
c = *str++;
if (isalpha(c)) {
(*alpha)++;
} else if (isdigit(c)) {
(*num)++;
} else if (isspace(c)) {
(*space)++;
} else {
(*other)++;
}
}
}
int main() {
char str[100];
int alpha = 0, num = 0, space = 0, other = 0;
printf("请输入字符串:");
fgets(str, sizeof(str), stdin);
count_chars(str, &alpha, &num, &space, &other);
printf("字母个数:%d\n数字个数:%d\n空格个数:%d\n其他字符个数:%d\n", alpha, num, space, other);
return 0;
}
```
在主函数中,首先输入字符串,然后调用 `count_chars` 函数,将字符串和各个类型字符的计数器的指针作为参数传递给它。函数内部使用循环遍历字符串中的每个字符,判断它是字母、数字、空格还是其他字符,并累加相应的计数器。最后,在主函数中输出各个类型字符的个数。
用C语言编写一个函数,函数的功能是删除字符串中的所有空格。 例如, 主函数中输入"asd af aa z67", 则输出为 "asdafaaz67"。
下面是一个实现该功能的C语言函数的代码:
```c
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
void delSpace(char *str) {
int i = 0, j = 0;
while(str[i] != '\0') {
if(str[i] != ' ') {
str[j] = str[i];
j++;
}
i++;
}
str[j] = '\0';
}
int main() {
char str[100];
printf("请输入一个字符串:");
gets(str);
delSpace(str);
printf("删除空格后的字符串为:%s\n", str);
return 0;
}
```
这个函数的实现很简单,它的参数是一个指向字符串的指针。在函数内部,我们遍历这个字符串中的每一个字符,如果这个字符不是空格,就将它复制到一个新的字符串中,否则就跳过不复制。最后,将新的字符串的结尾标志赋值为'\0',表示字符串的结束。在主函数中,我们输入一个字符串,调用函数删除空格,最后输出结果。需要注意的是,我们使用了gets函数来输入字符串,因为它可以读入包含空格的字符串。
阅读全文