过滤多余的空格C++

过滤多余的空格
一个句子中也许有多个连续空格,过滤掉多余的空格,只留下一个空格。
输入:一行,一个字符串(长度不超过200),句子的头和尾都没有空格。
输出:过滤之后的句子。
样例输入: Hello world.This is c language.
样例输出: Hello world.This is c language.

```#include<iostream>
using namespace std;
char st[200];
int main(){
   
	while
  • 3
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
以下是C语言实现首字母大过滤多余空格后输出的代码: ```c #include <stdio.h> #include <ctype.h> void capitalize(char *str) { int i = 0; while (str[i] != '\0') { if (i == 0 || str[i-1] == ' ') { str[i] = toupper(str[i]); } else { str[i] = tolower(str[i]); } i++; } } void remove_extra_spaces(char *str) { int i, j; for (i = j = 0; str[i]; i++) { if (!isspace(str[i]) || (i > 0 && !isspace(str[i-1]))) { str[j++] = str[i]; } } if (j > 0 && isspace(str[j-1])) { j--; } str[j] = '\0'; } int main() { char str[1000]; printf("Enter a string: "); fgets(str, 1000, stdin); capitalize(str); remove_extra_spaces(str); printf("Output: %s\n", str); return 0; } ``` 这个程序要求用户输入一个字符串,然后对其进行首字母大过滤多余空格的处理,最后输出处理后的字符串。 首先,我们定义了两个函数:`capitalize()`和`remove_extra_spaces()`。 `capitalize()`函数用于将字符串的每个单词的首字母大,其实现方式是遍历字符串中的每个字符,如果当前字符是单词的第一个字符或者前一个字符是空格,则将该字符转换为大,否则转换为小。 `remove_extra_spaces()`函数用于删除字符串中多余空格,其实现方式是遍历字符串中的每个字符,如果当前字符不是空格或者前一个字符也不是空格,则将该字符保留,否则忽略该字符。最后,如果字符串末尾有多余空格,则删除它们。 在`main()`函数中,我们首先使用`fgets()`函数从标准输入中读取一行字符串,接着调用`capitalize()`和`remove_extra_spaces()`函数对该字符串进行处理,最后输出处理后的字符串。 注意,在使用`fgets()`函数读取字符串时,我们限定了字符串的长度不能超过1000个字符。如果用户输入的字符串超过了这个长度,可能会导致程序出现错误。如果需要处理更长的字符串,可以根据实际情况自行调整数组大小。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值