c语言输入一个字符串,统计其空格的数量。 要求编写函数 int count_sp(const char *s); 统计并返回字符串 s 中空格的数量。 输入格式: 在一行中输入一个长度不超过 80 的字符串,其中可能含有多个空格。 输出格式: 输出共 2 行:第一行打印输入的原字符串,第二行是该字符串中空格的数量。 输入样例: 在这里给出一组输入。例如: Hello world 输出样例: 在这里给出相应的输出。例如: Hello world 1
时间: 2024-03-12 12:49:20 浏览: 105
好的,我来为您解答。可以使用以下代码实现:
```c
#include <stdio.h>
int count_sp(const char *s) {
int count = 0;
while (*s != '\0') {
if (*s == ' ') {
count++;
}
s++;
}
return count;
}
int main() {
char str[81];
fgets(str, 81, stdin);
printf("%s", str);
printf("%d", count_sp(str));
return 0;
}
```
函数 `count_sp` 统计空格的数量。通过循环遍历字符串 `s`,如果当前字符是空格,计数器加1。最后返回计数器的值。
在 `main` 函数中,使用 `fgets` 函数从标准输入中读取字符串,并将结果存储在字符数组 `str` 中。然后输出原字符串,再调用 `count_sp` 函数统计空格的数量并输出。
希望能够帮到您!
相关问题
输入一个字符串,统计其空格的数量。 要求编写函数 int count_sp(const char *s); 统计并返回字符串 s 中空格的数量。
好的,我知道了。以下是函数 int count_sp(const char *s) 的实现:
```c
int count_sp(const char *s) {
int count = 0;
while (*s) {
if (*s == ' ') {
count++;
}
s++;
}
return count;
}
```
函数中使用了一个 while 循环,遍历字符串 s 的每一个字符。在循环中,如果当前字符是空格,就将计数器 count 加一。最后返回计数器的值即可。
希望这个函数能够满足你的需求!
阅读全文