用指针方法,用c语言编写一个程序,输入一字符串,统计其中英文字母和数字字符和空格及其他字符的个数
时间: 2024-12-21 19:24:20 浏览: 3
C语编写一个函数,由实参传入一串字符,统计这串字符中字母、数字、空格、和其他 字符的个数,在主函数中输入字符串以及输出上述结果。
5星 · 资源好评率100%
在C语言中,我们可以使用指针遍历字符串并利用ASCII码来区分字母、数字和空格等字符。下面是一个简单的程序,它会接受用户输入的字符串,并计算每个类别字符的数量。
```c
#include <stdio.h>
#include <ctype.h> // 包含ctype.h库,用于获取字符类型信息
int count_letters(char* str);
int count_digits(char* str);
int count_spaces(char* str);
int main() {
char input[100];
printf("请输入一个字符串: ");
fgets(input, sizeof(input), stdin); // 使用fgets读取直到换行符
input[strcspn(input, "\n")] = '\0'; // 移除fgets读入的换行符
int letters = count_letters(input);
int digits = count_digits(input);
int spaces = count_spaces(input);
int others = strlen(input) - letters - digits - spaces;
printf("英文字母个数: %d\n", letters);
printf("数字字符个数: %d\n", digits);
printf("空格个数: %d\n", spaces);
printf("其他字符(如标点符号等)个数: %d\n", others);
return 0;
}
// 函数用来统计英文字母
int count_letters(char* str) {
int count = 0;
while (*str != '\0') {
if(isalpha(*str)) // 判断是否为字母
count++;
str++; // 指针向后移动一位
}
return count;
}
// 数字字符计数函数
int count_digits(char* str) {
int count = 0;
while (*str != '\0') {
if(isdigit(*str)) // 判断是否为数字
count++;
str++; // 指针向后移动一位
}
return count;
}
// 空格字符计数函数
int count_spaces(char* str) {
int count = 0;
while (*str != '\0') {
if(*str == ' ') // 判断是否为空格
count++;
str++; // 指针向后移动一位
}
return count;
}
```
当你运行这个程序,它会提示你输入一个字符串,然后显示各个字符类型的数量。
阅读全文