在C的保龄球得分计算器

时间:2012-10-10 03:56:23

标签: c arrays

这是一个家庭作业问题。我目前正在编写一个计算一个保龄球得分的程序。我的逻辑是使用多维数组,其中9帧作为行,2个抛出作为列。由于其最多可能有三个卷的独特性,我将在最后考虑第10帧。添加罢工和备件也使问题复杂化,所以我觉得我需要使用数组来跟踪过去和未来的滚动。我知道这不是必需的,但我想不出另一种方式。

到目前为止,这是我的代码:

for (i=0; i<9; i++)
{
    for (j=0; j<2; j++)
    {
        scanf("%d", &score[i][j]);
        tempTotal += score[i][j];
    }   
}
printf("temporary: %d\n", tempTotal);
//strike
for (i=0; i<9; i++)
{
    for (j=0; j<2; j++)
    {
        if(score[i][0] == 10 && score[i][1] == 0)
        {
            total = tempTotal + score[i+1][0] + score[i+1][1];
        }
//spare
        else if ((score[i][0] + score[i][1]) == 10)
        {   
            total = tempTotal + score[i+1][0];
        }
        else
        {
            total = tempTotal;
        }
    }
}
printf("result: %d\n", total);

以下是我的进度更新。根据评论,我首先使用scanf来填充我的多维数组。然后我查看了阵列,以了解罢工和备件的情况。代码一直有效,直到有连续的罢工和/或备件。如何计算连续备件和/或罢工的积累?我是否应该在我的罢工和备用条件中添加额外的条件陈述来说明如果得分[i + 1] [0]是另一次罢工,在这种情况下我还需要考虑额外的10分加上接下来的三次投注?我如何制作这样一个条件语句,全面搜索整个数组呢?任何想法,将不胜感激。谢谢。

0 个答案:

没有答案