01/10/2018, 12:35
Cần giải thích đoạn code về vòng lặp
for(i=0;i<Event;i++)
{
if(Event[i]>=100&&Event<=199){ //1
BlueDiamonds++;
Coin=Coin+(Event[i]%100); }
else if(Event[i]>=200&&Event<=299){ //2
RedDiamonds++;
Coin=Coin+(Event[i]%100); }
}
Như vậy nếu rơi vào cả hai trường hợp thì giá trị của Coin sẽ là giá trị của Coin ban đầu cộng với Coin ở (1) cộng thêm Coin ở (2) phải k ạ?
Bài liên quan
Đã
thì không thể nào rơi vào 2 trường hợp được. Cũng như không có số nào vừa <= 199 và >= 200 được.
nếu đoạn code 1 chạy thì đoạn code 2 sẽ không chạy
với code trên thì có thể sẽ có trường hợp không chạy đoạn nào cả
với những điều kiện đơn giản không có gì trung lắp lại như vậy thì cứ 2 câu if cho dễ nhìn
Ý của e : Event là một mảng thì ở phần tử thứ i nào đó như phần tử thứ 1 của mảng rơi vào trường hợp 1 còn phần tử thứ 2 của mảng rơi vào trường hợp 2 vậy thì giá trị Coin ban đầu cộng với Coin ở (1) cộng thêm Coin ở (2) phải k ạ?
vậy chổ sai là else if phải không ạ?
Vậy chỉ cần if()…if() phải không ạ?
else if đúng rồi.
Thực ra if else if hay if if tuỳ vào bạn muốn làm gì. Bạn không hiểu mình đang làm gì sao?
@That đúng rồi, theo như code của bạn thì Coin được định nghĩa bên ngoài “for(i=0;i<Event;i++){}” nên Coin của bạn sẽ cộng dồn.
*Thêm: như vậy thì Coin=Coin+(Event[i]%100); nên đặt 1 lần ngoài else if {} là được
Nếu đặt Coin ngoài if thì nếu Event[i] là 399 thì sao? Cũng lấy Coin=Coin+99 luôn?
Đương nhiên.
Vì lệnh gán
đều nằm trong if và else if nên có thể đưa ra ngoài if và else if.
UMmm. Nhưng mình chỉ cần nó nằm trong khoảng 100-199 và 200-299 thôi