删除字符串中所有空格 用c语言写出代码
时间: 2024-06-17 20:02:53 浏览: 178
在C语言中,可以使用循环遍历字符串的每个字符,判断是否为空格,如果不是空格则将其保留,最后将保留的字符重新组成一个新的字符串。以下是一个示例代码:
```c
#include <stdio.h>
#include <string.h>
void removeSpaces(char* str) {
int count = 0;
for (int i = 0; str[i]; i++) {
if (str[i] != ' ') {
str[count++] = str[i];
}
}
str[count] = '\0';
}
int main() {
char str[100];
printf("请输入字符串:");
fgets(str, sizeof(str), stdin);
str[strcspn(str, "\n")] = '\0'; // 去除fgets函数读取的换行符
removeSpaces(str);
printf("删除空格后的字符串为:%s\n", str);
return 0;
}
```
这段代码中,`removeSpaces`函数用于删除字符串中的空格。在`main`函数中,首先使用`fgets`函数获取用户输入的字符串,并使用`strcspn`函数去除输入字符串末尾的换行符。然后调用`removeSpaces`函数删除字符串中的空格,并输出删除空格后的字符串。
相关问题
编写程序,删除字符串中的空格。首先输入可以包含空格的字符串到一个字符数组中,然后将删除空格的字符串保存到另外的字符数组中。 例如,输入含有空格的字符串:what is your name<回车> 删除空格后的字符串: whatisyourname用C语言写一个程序
在C语言中,你可以通过遍历输入字符串并跳过空格的方式来实现这个功能。下面是一个简单的示例程序:
```c
#include <stdio.h>
#include <string.h> // 包含strlen函数
void removeSpaces(char* input, char* output) {
int i = 0, j = 0;
while (input[i] != '\0') { // 遍历输入字符串直到结束
if (input[i] != ' ') { // 如果不是空格,则添加到结果字符串中
output[j++] = input[i]; // 将字符复制到结果字符串
}
i++; // 移动到下一个字符
}
output[j] = '\0'; // 结束结果字符串,确保它以空字符结束
// 输出处理过的字符串
printf("删除空格后的字符串: %s\n", output);
}
int main() {
char input[100], output[100];
printf("请输入含有空格的字符串: ");
fgets(input, sizeof(input), stdin); // 从标准输入获取字符串(包括空格)
input[strcspn(input, "\n")] = '\0'; // 删除fgets读取到的换行符
removeSpaces(input, output); // 调用函数去除空格
return 0;
}
```
在这个程序中,`removeSpaces` 函数接受两个参数:源字符串 `input` 和目标字符串 `output`。主函数`main` 中读取用户输入,调用`removeSpaces` 来删除空格,并打印出结果。
运行这个程序,输入 "what is your name",将会输出 "whatisyourname"。
输入一个以回车结束的不含空格的字符串(少于80个字符),统计其中的各数字字符出现的次数(未出现在该字符串中的数字字符不统计)并输出。用C语言写出代码
好的,以下是用C语言实现的代码:
```c
#include <stdio.h>
#include <string.h>
int main() {
char s[81];
int count[10] = {0}; // 初始化数组,用于记录0~9的出现次数
fgets(s, sizeof(s), stdin); // 从标准输入读入字符串
// 遍历字符串中的每个字符,如果该字符是数字字符,则在相应位置加1
for (int i = 0; i < strlen(s); i++) {
if (s[i] >= '0' && s[i] <= '9') {
count[s[i] - '0']++;
}
}
// 输出数字和出现次数
for (int i = 0; i < 10; i++) {
if (count[i] > 0) {
printf("%d:%d\n", i, count[i]);
}
}
return 0;
}
```
这段代码首先定义一个字符数组`s`,用于存储输入的字符串,同时初始化一个长度为10的数组`count`,用于记录每个数字字符出现的次数。然后使用`fgets()`函数从标准输入读取字符串,遍历字符串中的每个字符,如果该字符是数字字符,则在`count`数组中相应位置加1。最后遍历`count`数组,输出所有出现次数不为0的数字及其出现次数。
希望能够帮助到你!
阅读全文