输入一个字符串,删除字母以外的其它字符,并统计字母的个数,用C语言编写
时间: 2024-02-24 11:58:22 浏览: 62
可以使用C语言中的字符数组和循环语句实现该功能,代码如下:
```c
#include <stdio.h>
#include <string.h>
#include <ctype.h>
int main()
{
char str[100];
int count = 0;
printf("请输入一个字符串:");
fgets(str, sizeof(str), stdin); // 使用fgets函数读入字符串
for (int i = 0; i < strlen(str); i++)
{
if (isalpha(str[i])) // 判断字符是否为字母
{
str[count++] = str[i]; // 将字母存入数组中
}
}
str[count] = '\0'; // 在数组末尾添加结束符
printf("删除非字母字符后的字符串为:%s\n", str);
printf("字母的个数为:%d\n", count);
return 0;
}
```
输入一个字符串后,程序会逐个判断字符是否为字母,如果为字母则存入字符数组中,并记录字母的个数。最后输出删除非字母字符后的字符串和字母的个数。
相关问题
从键盘输入一个字符串,并统计字符串中字母的个数c语言
可以使用C语言编写一个程序,从键盘输入一个字符串,并统计字符串中字母的个数。以下是一个示例代码:
```c
#include <stdio.h>
void count(char str[]) {
int count = 0;
for (int i = 0; str[i] != '\0'; i++) {
if ((str[i] >= 'a' && str[i] <= 'z') || (str[i] >= 'A' && str[i] <= 'Z')) {
count++;
}
}
printf("字母的个数为:%d\n", count);
}
int main() {
char str[100];
printf("请输入一个字符串:");
scanf("%s", str);
count(str);
return 0;
}
```
这段代码中,我们首先定义了一个`count`函数,该函数接收一个字符串作为参数。在函数内部,我们使用一个循环遍历字符串的每个字符,如果字符是字母(大写或小写),则将计数器加1。最后,我们在主函数中通过`scanf`函数从键盘输入一个字符串,并调用`count`函数来统计字母的个数。最后,我们将结果打印出来。
c语言用数组输入一个字符串,统计字符串中字母、数字和其它字符的个数。
可以使用字符数组来存储字符串,然后遍历数组,统计字母、数字和其它字符的个数。代码如下:
```c
#include <stdio.h>
#include <ctype.h>
int main() {
char str[100];
int letterCnt = 0, digitCnt = 0, otherCnt = 0;
printf("请输入一个字符串:");
gets(str);
for (int i = 0; str[i] != '\0'; i++) {
if (isalpha(str[i])) {
letterCnt++;
} else if (isdigit(str[i])) {
digitCnt++;
} else {
otherCnt++;
}
}
printf("字母个数:%d\n数字个数:%d\n其它字符个数:%d\n", letterCnt, digitCnt, otherCnt);
return 0;
}
```
其中,`isalpha()` 和 `isdigit()` 是 C 标准库中的函数,用于判断字符是否为字母和数字。`gets()` 函数用于从标准输入中读取字符串。注意,`gets()` 函数存在安全问题,建议使用 `fgets()` 函数替代。
阅读全文