C编程-数组中的最大步数,显示超过最大步数

  • 本文关键字:显示 编程 数组 c arrays max
  • 更新时间 :
  • 英文 :


我正在写一个软件,遇到了一个问题。我试图做的是遍历一个数组,其中的元素只能是1或0,并写出某人从数组中给定点可以执行的最大步骤。规则是,只有在相同的数字下,人们才能迈出一步或多步。假设我的数组如下所示:1,0,0,0,0,1,1,0我从头开始,我应该只能跨步一次,因为在1是0之后,我不能在跨步时更改数字,只有在再次轮到我的时候。所以,如果我从第二个元素开始,我可以走1步,或者4步。现在,我想写下当前玩家可以踩的最大步数,但出于某种原因,它显示了最大步数+1。

每个变量都是int类型。坟墓=数组,j,max_lepes用0 初始化

#include <stdio.h>
#include <stdlib.h>
int main()
{
    int tomb[200]={1,0,1,1,1,0,0,1,1,0,1}; // Fo tomb
    int max_lepes,akt_pos,j,i,game_type=0;
    printf("Valasszon jatek tipust (1 Ember vs Szamitogep, 2 Ember vs Ember): ");
    scanf("%d", &game_type);

    if (game_type==1) {

    } else if (game_type==2) {
        // Aktualis tomb kiirasa
        printf("nAz aktualis szin tomb: ");
        for (i=0; i<11; ++i) {
            printf("%d ", tomb[i]);
        }
        i==0;
        // Max lepesek kiirasa
        max_lepes == 0;
        akt_pos == 0;
        for (j=0; j<11; ++j) {
            if (tomb[j]==tomb[j+1]) {
                max_lepes=max_lepes+1;
            } else {
                printf("nMaximum lepesek szama= %d", max_lepes);
                break;
            }
        }
    } else {
        printf("Rosz szamot irt be, kerem irjon be 1-et vagy 2-et.");
    }

    return 0;
}
max_lepes == 0;
akt_pos == 0;

应该是

max_lepes = 0;
akt_pos = 0;
        i==0;
        max_lepes == 0;
        akt_pos == 0;

这些不会将变量分配给0。==用于比较,=用于分配。所以把它们改成

        i=0;
        max_lepes = 1;// because max can be at least 1
        akt_pos = 0;

最新更新