统计字母个数(C语言)

统计字母个数(C语言)

题目:读取文件中的字符串,统计从“a”到“z”26个字母各自出现的次数,并将结果放入数组中。如文件中有字符串abcdefgabcdeabc,输出33322110000000000000000000。

#include 
#include 
#include 

int main(void)
{
     
	char string[200];							/*string数组存放字符串*/
	int letter[26] = {
      0 };						/*letter数组记录字母出现的次数*/
	unsigned int i;							
	FILE *fp;
	errno_t err;
	if ((err = fopen_s(&fp, "data.txt", "r")) != 0)/*打开文件,并判断*/
	{
     
		printf("\ncan not open the file!\n");	 /*若打不开,提示*/
		exit(1);								 /*退出程序*/
	}
	while (!feof(fp))							/*从头到尾读文件*/
	{
     
		fscanf_s(fp, "%s", string, 200 * sizeof(char));	/*把文件中字符串放到数组里*/
		for (i = 0; i < strlen(string); i++)	/*遍历字符串*/
		{
     
			if (string[i]<'a' || string[i]>'z')	/*若非a~z*/
			{
     
				continue;					    /*不记录*/
			}
			letter[string[i] - 'a']++;		/*记录a~z出现的次数*/
		}
	}		
	fclose(fp);								   /*关闭文件*/
	for (i = 0; i < 26; i++)				   /*输出记录*/
	{
     
		printf("%d ", letter[i]);
	}
	printf("\n");

	return 0;
}

文件data.txt内容:
统计字母个数(C语言)_第1张图片

你可能感兴趣的:(C语言,c语言,字符串)