c语言:从键盘输入一行字符,以按Enter键作为结束标志,分别统计其中字母(不区分大小写)、 数字字符和其他字符的个数。
时间: 2023-05-28 13:05:20 浏览: 77
```
#include <stdio.h>
#include <ctype.h>
int main()
{
char ch;
int letter_count = 0, digit_count = 0, other_count = 0;
printf("请输入一行字符(以Enter键作为结束标志):\n");
while ((ch = getchar()) != '\n') {
if (isalpha(ch)) { // 判断是否为字母
letter_count++;
} else if (isdigit(ch)) { // 判断是否为数字字符
digit_count++;
} else { // 其他字符
other_count++;
}
}
printf("字母个数:%d\n", letter_count);
printf("数字字符个数:%d\n", digit_count);
printf("其他字符个数:%d\n", other_count);
return 0;
}
```
相关问题
C语言编写一个函数,可以统计一个从键盘输入的字符串中英文字母,包括大小写的个数
你可以使用C语言中的字符数组、循环语句和标准输入函数 `scanf()` 来编写这个函数。以下是一个示例代码:
```c
#include <stdio.h>
#include <string.h>
#include <ctype.h>
void countLetters() {
char str[100];
int i, count = 0;
printf("Enter a string: ");
scanf("%[^\n]", str); // 读取输入的字符串,直到遇到换行符为止
int len = strlen(str);
for (i = 0; i < len; i++) {
if (isalpha(str[i])) {
count++;
}
}
printf("There are %d letters in the string.\n", count);
}
int main() {
countLetters();
return 0;
}
```
在这个示例代码中,我们使用 `scanf()` 函数来读取从键盘输入的字符串,然后使用 `isalpha()` 函数来判断一个字符是否为字母,如果是字母则计数器加1,最终输出字符串中字母的个数。你可以直接调用 `countLetters()` 函数来获得结果。
c语言编写一个程序,统计输入一行字符串中各个字母使用频率(大小写不区分),将次数不为零的字母及次数输出。
下面是一个简单的 C 语言程序,可以实现输入一行字符串并统计字母使用频率:
```c
#include <stdio.h>
#include <ctype.h>
#define ALPHABET_SIZE 26
int main() {
int counts[ALPHABET_SIZE] = {0};
char c;
printf("Please enter a string: ");
while ((c = getchar()) != '\n') {
if (isalpha(c)) {
counts[tolower(c) - 'a']++;
}
}
printf("Letter frequencies:\n");
for (int i = 0; i < ALPHABET_SIZE; i++) {
if (counts[i] > 0) {
printf("%c: %d\n", i + 'a', counts[i]);
}
}
return 0;
}
```
这个程序使用了一个整型数组 `counts` 来记录每个字母出现的次数。当输入一个字母时,程序会先检查该字符是否为字母,如果是,则使用 `tolower` 函数将其转换为小写字母并将其出现次数加1。最后,程序会输出每个字母的出现次数,只有出现次数大于0的字母才会被输出。