C语言编写程序,删除字符串中的空格。首先输入含有空格的字符串:what is your name 输出删除空格后的字符串: whatisyourname
时间: 2024-09-17 22:06:51 浏览: 42
在C语言中,你可以通过遍历字符串并跳过空格字符的方式来删除字符串中的所有空格。以下是一个简单的示例,使用`for`循环和`strlen()`函数:
```c
#include <stdio.h>
#include <string.h>
void removeSpaces(char* str) {
int len = strlen(str);
// 遍历整个字符串
for (int i = 0; i < len; i++) {
// 如果当前字符不是空格,就打印它
if (str[i] != ' ')
printf("%c", str[i]);
}
}
int main() {
char input[50];
printf("请输入含有空格的字符串: ");
fgets(input, sizeof(input), stdin); // 注意fgets处理换行符
input[strcspn(input, "\n")] = '\0'; // 移除fgets添加的换行符
removeSpaces(input);
printf("\n删除空格后的字符串: %s\n", input);
return 0;
}
```
当你运行这个程序,并输入"what is your name",它将输出"whatisyourname"。
相关问题
用C语言编写程序,删除字符串中的空格。首先输入可以包含空格的字符串到一个字符数组中,然后将删除空格的字符串保存到另外的字符数组中。 例如,输入含有空格的字符串:what is your name<回车> 删除空格后的字符串: whatisyourname
在C语言中,你可以使用`strtok()`函数配合`strcpy()`来实现这个功能。下面是一个简单的示例程序:
```c
#include <stdio.h>
#include <string.h> // 包含strtok()函数
void removeSpaces(char* input, char* output) {
char* token = strtok(input, " "); // 使用空格作为分隔符
while (token != NULL) { // 只要找到一个非空格部分
strcpy(output, token); // 将找到的部分复制到output
output += strlen(token) + 1; // 更新output的位置以便下一次复制
token = strtok(NULL, " "); // 继续查找下一个非空格部分
}
*output = '\0'; // 结束字符串并添加终止符
}
int main() {
char input[100], output[100];
printf("请输入含有空格的字符串: ");
fgets(input, sizeof(input), stdin); // 从标准输入读入字符串
input[strlen(input) - 1] = '\0'; // 去除fgets添加的换行符
removeSpaces(input, output);
printf("删除空格后的字符串: %s\n", output);
return 0;
}
```
当你运行这个程序并输入"what is your name"后,它会输出"whatisyourname"。
编写程序,删除字符串中的空格。首先输入可以包含空格的字符串到一个字符数组中,然后将删除空格的字符串保存到另外的字符数组中。 例如,输入含有空格的字符串: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"。
阅读全文