用C语言编写一个程序,统计英文文件中的大小写字母,数字,空格,换行及其他字符个数
时间: 2023-06-18 08:06:26 浏览: 178
下面是一个简单的C语言程序,可以统计一个英文文件中的大小写字母、数字、空格、换行及其他字符个数:
```c
#include <stdio.h>
#include <ctype.h>
int main()
{
char ch;
int upper = 0, lower = 0, digit = 0, space = 0, other = 0, newline = 0;
// 打开文件
FILE *fp = fopen("input.txt", "r");
// 逐个字符读取并统计
while ((ch = fgetc(fp)) != EOF)
{
if (isupper(ch))
upper++;
else if (islower(ch))
lower++;
else if (isdigit(ch))
digit++;
else if (isspace(ch))
{
space++;
if (ch == '\n')
newline++;
}
else
other++;
}
// 输出统计结果
printf("Uppercase letters: %d\n", upper);
printf("Lowercase letters: %d\n", lower);
printf("Digits: %d\n", digit);
printf("Spaces: %d\n", space - newline);
printf("Newlines: %d\n", newline);
printf("Other characters: %d\n", other);
// 关闭文件
fclose(fp);
return 0;
}
```
在这个程序中,我们使用了C标准库中的`fopen()`和`fgetc()`函数来打开和读取文件。在逐个字符读取文件内容时,我们使用了`isupper()`、`islower()`、`isdigit()`和`isspace()`函数来判断字符的类型,然后对应地增加相应的计数器。
需要注意的是,在统计空格个数时,我们还要特别判断换行符`\n`的情况,并将其归类到换行符的计数器中。最后,我们输出各个计数器的值,即可得到文件中大小写字母、数字、空格、换行及其他字符的个数。
阅读全文