2017第八届蓝桥杯 (C/C++C)组贪吃蛇长度-C语言代码和思路

  1. 标题:贪吃蛇长度

±------------------------------------------------+
| |
| H###### #### |
| # # # |
| # # # |
| # #### # # |
| # # # # # |
| ######@### # # |
| # #### # # |
| # # # # # |
| ####@#######@### # # |
| # # # # # |
| T ##### # # # ## |
| # # ### ### ## |
| ################ # # #### |
| # # # # |
| ############## #######@########## |
| # ### |
| ########################### |
±------------------------------------------------+
小明在爷爷的私人收藏馆里找到一台老式电脑。居然没有图形界面,只能用控制台编程。经过小明的一阵摸索,神奇地设计出了控制台上的贪食蛇游戏。
如上图,是游戏时画面截图。 其中,H表示蛇头,T表示蛇尾。#表示蛇的身体,@表示身体交叉重叠的地方。 你能说出现在的贪吃蛇长度是多少吗? 其实,只要数出#的数目算1,数出@的数目,算2,再加上头尾各算1就计算好了。 人工数一下?太累眼睛了,聪明的你为什么不让计算机帮忙呢? 本题的要求就是: 请填写上图中贪食蛇的长度是多少?
思路:把上图字符保存到记事本,用记事本替换功能除去无关字符,保存即可。

#include<stdio.h>
#include<stdlib.h>
int main()
{
	FILE *fp;
	char ch;
	int count=0;
	if((fp=fopen("abc.txt","r"))==NULL)
	{
		printf("Can not open this file!\n");
		exit(0);
	}
	while((ch=fgetc(fp))!=EOF)
	{
		if(ch=='#'||ch=='H'||ch=='T')
		{
			count++;
		}
		else if(ch=='@')
		{
			count+=2;
		}
	}
	printf("%d",count);
	fclose(fp);
	return 0;
}
``//答案190`


猜你喜欢

转载自blog.csdn.net/qq_42552533/article/details/84880656
今日推荐