[英]C Programming - Max steps in array, shows more than max
我在寫軟件,但遇到了問題。 我試圖做的是遍歷一個數組,其中的元素只能是1或0,並寫出某人可以從數組的給定點執行的最大步驟。 規則是,只有相同的數字,人們才能執行1步或更多步。 假設我的數組如下所示:1,0,0,0,0,1,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;
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.