编写函数:实现输入一个字符串,只保留字符串中的字母字符,并统计新生成字符串中包含字母的个数。函数接口如下。 例如:主程序中输入字符串“My12C!$”,新生成的字符串为“MyC”。 函数接口定义: 在这里描述函数接口。例如: int Delotherchar (char *p); 形参指针变量指向字符数组。 说明:主程序中输入字符串,调用该函数后,输出新的字符串以及长度。函数中没有任何输入和输出。
时间: 2024-02-06 10:10:59 浏览: 62
函数接口如下:
```c
int Delotherchar(char *p);
```
其中,形参指针变量 `p` 指向要处理的字符串。
函数的功能是将字符串中的非字母字符删除,并统计新生成字符串中包含字母的个数。函数返回值为新生成字符串中包含字母的个数。
函数的实现如下:
```c
int Delotherchar(char *p) {
int count = 0; // 统计新生成字符串中包含字母的个数
char *q = p; // 定义指针变量 q,指向原字符串 p
while (*q != '\0') {
if ((*q >= 'a' && *q <= 'z') || (*q >= 'A' && *q <= 'Z')) {
*p++ = *q; // 只保留字母字符
count++; // 统计字母的个数
}
q++; // 指针 q 向后移动
}
*p = '\0'; // 新字符串的结尾加上 '\0'
return count;
}
```
在主程序中,可以这样调用该函数:
```c
#include <stdio.h>
int main() {
char str[100];
printf("请输入一个字符串:");
scanf("%s", str);
int count = Delotherchar(str);
printf("新字符串为:%s\n", str);
printf("新字符串中包含字母的个数为:%d\n", count);
return 0;
}
```
阅读全文