用c语言编写,从键盘上输入一行英文存于一个字符数组中,删除空格字符,输出 字符串及其长度
时间: 2024-05-14 15:17:31 浏览: 89
从键盘上输入一串英文字符(不含空格与其他字符),统计每个字符的数目,并输出字母及相应的数目。
以下是用 C 语言编写的一个示例代码:
```c
#include <stdio.h>
#include <string.h>
int main() {
char str[100];
printf("请输入一行英文:\n");
fgets(str, sizeof(str), stdin); // 从键盘上读入一行英文
int len = strlen(str);
for (int i = 0; i < len; i++) {
if (str[i] == ' ') { // 如果当前字符是空格
for (int j = i; j < len; j++) {
str[j] = str[j+1]; // 把后面的字符往前移动一位
}
len--; // 字符串长度减一
i--; // 这里需要把 i 回退一位,因为下一个字符已经移到当前位置了
}
}
printf("删除空格后的字符串为:%s\n", str);
printf("字符串长度为:%d\n", len-1); // 注意减一,因为最后一个字符是换行符
return 0;
}
```
在上面的代码中,我们先定义了一个字符数组 `str` 来存储输入的字符串。然后使用 `fgets()` 函数从标准输入读入一行英文,并把它存入 `str` 中。
接着,我们使用 `strlen()` 函数获取字符串的长度,并使用一个循环来遍历整个字符串。如果当前字符是空格,那么我们就把后面的字符往前移动一位,然后把字符串的长度减一。最后,我们输出删除空格后的字符串和它的长度。
需要注意的是,最后一个字符是换行符 `\n`,在计算字符串长度时需要减一。
阅读全文