⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 bowling.c

📁 保龄球计分算法
💻 C
字号:
#include <stdio.h>
	int main(void)
	{
		int score[11]={0};	/*score[0]省略不用, 记录10局分数*/
		int p[22]={0};		/*p[0]省略不用, 记录每球分数, 最多打21球*/
		/* g:局数, j:每球下标, sum:保龄球总分 */
		/* ballnum:目前是该局的第几球, keyin:输入每球的分数 */
		int g=0, j=0, sum=0, ballnum=0, keyin=0;
		/* 依次输入10局的分数 */
		for(g=1;g<=10; g++)
		{
			ballnum++;
			j++;
			printf(" 第 %2d 局第 %2d 球:", g, ballnum);
			scanf("%d", &keyin);
			p[j]=keyin;
			if(p[j]==10)
			{
				if(g==10)
				{
					ballnum++;
					j++;
					printf(" 第 %2d 局第 %2d 球:", g, ballnum);
					scanf("%d", &keyin);
					p[j]=keyin;
					ballnum++;
					j++;
					printf(" 第 %2d 局第 %2d 球:", g, ballnum);
					scanf("%d", &keyin);
					p[j]=keyin;
					break;
				}
				else
				{
					ballnum=0;
					continue;
				}
			}
			else
			{
				ballnum++;
				j++;
				printf(" 第 %2d 局第 %2d 球:", g, ballnum);
				scanf("%d", &keyin);
				p[j]=keyin;
				if(p[j-1]+p[j]==10 && g==10 )
				{
				ballnum++;
					j++;
					printf(" 第 %2d 局第 %2d 球:", g, ballnum);
					scanf("%d", &keyin);
					p[j]=keyin;
					continue;
				}
				else					
				{
					ballnum=0;
					continue;
				}
			}
		}
		/*计算每局的得分*/
		for(g=1, j=1; g<=10; g++)
		{
			if(p[j]==10)
			{
				score[g]=p[j]+p[j+1]+p[j+2];
				j++;
			}
			else if(p[j]+p[j+1]==10)
			{
				score[g]=p[j]+p[j+1]+p[j+2];
				j+=2;
			}
			else
			{
				score[g]=p[j]+p[j+1];
				j+=2;
			}
		}
		printf("\n");
		printf(" ====================\n");

		/*打印出每局的得分,以及计算保龄球的总分*/
		for(g=1; g<=10; g++)
		{
			printf(" 第 %2d 局分数:%d\n", g, score[g]);
			sum+=score[g];
		}
		printf(" ====================\n");

		/*打印出保龄球的总分*/
		printf(" 保龄球总分: %d\n\n", sum);
		return 0;
	}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -