编写函数:实现输入一个字符串,只保留字符串中的字母字符,并统计新生成字符串中包含字母的个数。函数接口如下。 例如:主程序中输入字符串“My12C!$”,新生成的字符串为“MyC”。用c语言编写
时间: 2024-02-06 14:10:27 浏览: 75
```c
#include <stdio.h>
#include <ctype.h>
int keepLetters(char *str) {
int count = 0;
char *src = str, *dst = str;
while (*src) {
if (isalpha(*src)) {
*dst++ = *src;
count++;
}
src++;
}
*dst = '\0';
return count;
}
int main() {
char str[100];
printf("请输入字符串:");
scanf("%s", str);
int count = keepLetters(str);
printf("新字符串为:%s\n", str);
printf("包含字母的个数为:%d\n", count);
return 0;
}
```
该函数使用指针遍历输入的字符串,只保留其中的字母字符,并统计新生成字符串中包含字母的个数。主程序中调用该函数并输出结果。
相关问题
用c语言编写 统计元音字母的个数 描述:定义一个字符数组保存一个字符串,然后统计并输出该字符串中元音字母(a, e, i, o, u)的个数。 示例输入: 请输入一个字符串: beautiful day 元音字母的个数: 6
在C语言中,你可以使用以下函数来统计字符串中元音字母的个数:
```c
#include <stdio.h>
#include <ctype.h> // 包含ctype.h头文件以使用isalpha()函数
int count_vowels(char *str) {
int vowel_count = 0;
while (*str != '\0') { // 遍历字符串直到遇到结束符
char c = tolower(*str); // 转换为小写以便不区分大小写
if (isalpha(c) && (c == 'a' || c == 'e' || c == 'i' || c == 'o' || c == 'u')) {
vowel_count++; // 如果是元音字母,计数器加一
}
str++; // 移动到下一个字符
}
return vowel_count; // 返回元音字母总数
}
int main() {
char input[] = "beautiful day";
int vowel_count = count_vowels(input);
printf("元音字母的个数: %d\n", vowel_count);
return 0;
}
```
上述代码首先定义了一个`count_vowels`函数,它接受一个字符串作为参数。通过遍历字符串中的每个字符,如果字符是元音字母(忽略大小写),就增加计数器。最后,在`main`函数中,我们调用这个函数并打印结果。
用Python使用函数实现:实参为一个字符串,函数中统计出字符串中的字母、数字 其他字符的个数。
可以使用Python中的isalpha()、isdigit()等字符串方法来判断字符的类型,然后在函数中统计数量即可。以下是一个实现:
```python
def count_chars(string):
letters = 0
digits = 0
others = 0
for char in string:
if char.isalpha():
letters += 1
elif char.isdigit():
digits += 1
else:
others += 1
print("字符串中共有字母{}个,数字{}个,其他字符{}个。".format(letters, digits, others))
```
使用示例:
```python
count_chars("hello, 123!@#") # 输出:字符串中共有字母5个,数字3个,其他字符3个。
```
阅读全文