用C语言编写一个程序,统计一个文件中大小写字母、数字、空格、换行及其他字符的个数
时间: 2024-05-07 17:21:48 浏览: 9
以下是一个简单的C语言程序,可以统计一个文件中大小写字母、数字、空格、换行及其他字符的个数:
```c
#include <stdio.h>
int main()
{
char filename[100];
FILE *fp;
char ch;
int uppercase = 0, lowercase = 0, digits = 0, spaces = 0, others = 0, newlines = 0;
printf("Enter the filename: ");
scanf("%s", filename);
fp = fopen(filename, "r");
if (fp == NULL)
{
printf("Error opening the file\n");
return 0;
}
while ((ch = fgetc(fp)) != EOF)
{
if (ch >= 'A' && ch <= 'Z')
uppercase++;
else if (ch >= 'a' && ch <= 'z')
lowercase++;
else if (ch >= '0' && ch <= '9')
digits++;
else if (ch == ' ')
spaces++;
else if (ch == '\n')
newlines++;
else
others++;
}
printf("Uppercase letters: %d\n", uppercase);
printf("Lowercase letters: %d\n", lowercase);
printf("Digits: %d\n", digits);
printf("Spaces: %d\n", spaces);
printf("Newlines: %d\n", newlines);
printf("Other characters: %d\n", others);
fclose(fp);
return 0;
}
```
程序首先要求用户输入文件名,然后打开该文件并逐个字符读取,统计各种字符的个数。程序使用了 `fgetc()` 函数读取每个字符,并使用 `if` 语句判断字符类型。最后,程序输出各种字符的个数,并关闭文件。