题目:打开一个英文文件 统计字符个数
a-z a:10 b20 …. z=5
#include<stdio.h>
int main(int argc,char *argv[])
{
int i = 0;
int s[26] = {0};
FILE *fp = fopen("/home/linux/file1.txt","r"); // 打开文件
if(fp==NULL)
{
printf("fopen error\n");
return 1;
}
while(1)
{
int c = fgetc(fp);
if(c==EOF)
{
break;
}
for(i = 97;i<=122;++i) // 遍历26个字母
{
if(c == i) // 看读到的字符ASCII码值和哪个字母相同
{
s[i-97] += 1; // s[0] - s[26]分别记录26个字母的个数
}
}
}
fclose(fp);
for(i = 97;i <= 122;++i)
{
printf("%c=%d\n",i,s[i-97]);
}
return 0;
}
运行结果: