保龄球计分程序java_JAVA程序设计(10)-----保龄球积分程序 说的是练习数组 其实完全就是个坑爹的数学题…………...

跪求简单的方法……………………

规则嘛

1.本局一次10个  积分加后面2次投球的分数

2本局补中10个 积分加后面1次投球的分数

3本局2次不足10个 积分就这么多

第10轮无论如何都要先投2次 2次超过10分 就加投1次

满分300

package com.lovo;

/**

* 保龄球 积分程序

* @author Abe

*/

import java.util.Scanner;

public class Bowling {

public static void main(String[] args) {

Scanner sc = new Scanner(System.in);

int[][] scores = new int[11][4];

for (int i = 0; i < scores.length; i++) {//循环11轮

if (i < scores.length - 1) {//循环前10轮

System.out.printf("请输入第%d轮,第1次打倒的个数:", i + 1);

scores[i][0] = sc.nextInt();

if (scores[i][0] < 10 || i == 9) {//前9轮 不是10 就再记第二次分数 ;第10轮无论如何都记2次

System.out.printf("请输入第%d轮,第2次打倒的个数:", i + 1);

scores[i][1] = sc.nextInt();

}

} else if (scores[i - 1][0] + scores[i - 1][1] >= 10) {//第10轮10分以上 11轮记一次分数

System.out.printf("请输入第%d轮,第%d次打倒的个数:", i, 3);

scores[i][0] = scores[i][2] = sc.nextInt();

}

}

for (int i = 0; i < scores.length-1; i++) {//前11轮

if (scores[i][0] == 10 && i != 9) {

if (scores[i + 1][0] == 10 && i < 8){ //前8轮,一次10分 就记后面2投球的分数

scores[i][2] = scores[i][0] + scores[i + 1][0]+ scores[i + 2][0];

}else if (scores[i + 1][0] != 10 || i == 8){//第9轮10分 记第10轮2次的分数

scores[i][2] = scores[i][0] + scores[i + 1][0] + scores[i + 1][1];

}

}else{

if (scores[i][0] + scores[i][1] == 10 && i < 9){//前9轮 补中10分 加上下轮第一次的分数

scores[i][2] = scores[i][0] + scores[i][1] + scores[i + 1][0];

}else{

scores[i][2] = scores[i][0] + scores[i][1];//2次不足10分 就记这么多

}

}

}

//求累计积分

scores[0][3] = scores[0][2];

for(int i = 1; i < scores.length;i++ ){

scores[i][3]=scores[i][2] + scores[i - 1][3];

}

//打印所有

for(int i = 0 ; i < scores.length; i++){

for(int j = 0 ; j < scores[i].length; j++){

System.out.print(scores[i][j] + "\t");

}

System.out.println("\t第" + (i + 1) +"轮\n");

}

}

}

原文:http://blog.csdn.net/anubies/article/details/40520387

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 好的,以下是一个简单的打保龄球的C语言程序设计: ```c #include <stdio.h> int main() { int score[10]; // 存储每一局的分数 int total_score = 0; // 总分数 int i, j; // 输入每一局的分数 for (i = 0; i < 10; i++) { printf("请输入第%d局的分数:", i+1); scanf("%d", &score[i]); } // 计算总分数 for (i = 0; i < 10; i++) { total_score += score[i]; // 如果是第10局,则考虑加赛的情况 if (i == 9) { if (score[i] == 10) { // 如果第10局是全中,则可以再投两次 printf("请再投一次:"); scanf("%d", &j); total_score += j; printf("请再投一次:"); scanf("%d", &j); total_score += j; } else if (score[i] + score[i-1] == 10) { // 如果第10局是补中,则可以再投一次 printf("请再投一次:"); scanf("%d", &j); total_score += j; } } else { if (score[i] == 10) { // 如果这一局是全中,则加上下两局的分数 total_score += score[i+1]; total_score += score[i+2]; } else if (score[i] + score[i+1] == 10) { // 如果这一局是补中,则加上下一局的第一次投的分数 total_score += score[i+2]; } } } printf("总分数为:%d", total_score); return 0; } ``` 这个程序会要求用户输入每一局的分数,然后计算总分数。如果最后一局是全中,则会让用户再投两次;如果是补中,则会让用户再投一次。注意,这个程序没有做输入合法性的检查,实际使用时需要加上。 ### 回答2: 保龄球是一种有趣的运动,我们可以用C语言来编写一个简单的保龄球程序。首先,我们需要定义一些变量来表示比赛的相关信息,比如玩家的姓名,每轮得分等等。 首先,我们可以定义一个结构体来存储玩家的姓名和每轮的得分: ```c struct Player { char name[50]; int scores[10]; }; ``` 然后,我们可以定义一个函数来计算每轮的得分。根据保龄球规则,如果在一轮中击倒了全部的10个瓶,那么这一轮的得分就是10,并且这一轮的得分会加上接下来两轮中每击倒瓶的数量。否则,如果在第一轮中就击倒了全部的瓶,那么这一轮的得分是10加上下一轮中击倒瓶的数量。如果未击倒全部瓶,得分就是本轮中击倒的瓶数。 ```c int calculateScore(int round, int knockedPins) { int score = knockedPins; if (round < 9) { if (knockedPins == 10) { score += knockedPins // 加上下两轮的得分 } else { score += knockedPins + knockedPins // 加上下一轮的得分 } } return score; } ``` 接下来,我们可以编写主函数来实现整个游戏的逻辑。首先,我们可以创建一个玩家数组来存储多个玩家的信息。然后,我们可以使用循环来模拟每一轮的比赛过程,并根据玩家的输入来获取每一轮的得分。最后,我们可以计算每个玩家的总得分并输出结果。 ```c #include <stdio.h> int main() { int numOfPlayers; printf("请输入参与比赛的玩家数量:"); scanf("%d", &numOfPlayers); struct Player players[numOfPlayers]; for (int i = 0; i < numOfPlayers; i++) { printf("请输入玩家%d的姓名:", i+1); scanf("%s", players[i].name); for (int j = 0; j < 10; j++) { printf("请输入玩家%d第%d轮的得分:", i+1, j+1); scanf("%d", &players[i].scores[j]); } } for (int i = 0; i < numOfPlayers; i++) { int totalScore = 0; for (int j = 0; j < 10; j++) { totalScore += calculateScore(j, players[i].scores[j]); } printf("玩家%s的总得分为:%d\n", players[i].name, totalScore); } return 0; } ``` 这样,我们就完成了一个简单的保龄球C语言程序。用户可以输入参与比赛的玩家数量以及每个玩家每轮的得分,程序会计算每个玩家的总得分并输出结果。当然,这只是一个简单的示例,实际的保龄球程序可以更加复杂和完善。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值