Chương trình tính tổng từ 1 -> 10 bị sai

#include<stdio.h>

int main(){ 
	int sum =0, i= 1;
	
	
	
	do {
		sum = i +1;
		++i;
		
		
		
	} while( i< 10);
	printf("Gia tri tong cac so la %d", sum);
	
	
	
	
	
	
return 0;	
} 

em không biết làm sai chổ nào mà kết quả ra em chạy ra sai ạ giúp em với

Nếu muốn tính tổng thì sum = sum + i; Nếu sử dụng sum = i +1; thì mỗi vòng lặp nó sẽ ghi lại giá trị mới vào sum thôi, không cộng dồn mấy số trước đó.

5 Likes

bạn để 1 cái breakpoint rồi debug thôi. Mình thấy bạn hỏi những câu cơ bản đến mức chỉ cần đặt 1 cái breakpoint rồi ấn f10 (nếu là Visual Studio) cỡ 3-4 lần là biết sai cái gì. Nó làm mình tự hỏi không biết bạn đã hiểu những khái niệm như vòng lặp, câu điều kiện hoạt động ntn chưa. Bạn xem lại kiến thức nền nhé.

8 Likes

Máy mình không có chạy C++, bạn coi đỡ code python, nhưng với đoạn code như này thì cũng same same nhau

sum = 0
i = 1

while True:

    i = i + 1
    sum = i + sum

    if i > 5:
        break

print(sum)
print(i)

Mới học thì đừng ham viết rút gọn, mà nên viết dài ra để cho dễ nhìn và dễ hiểu.

6 Likes

Có khi phải chạy tay thay số từng bước luôn ấy.

Đến vòng for thì nó đỡ hơn :smiley: vì chỉ có 1 chỗ để nhảy số. Nhưng vẫn phải biết cách dùng do while.

6 Likes

Dạ em chỉ mới bước vào ngành ạ em chưa học lớp đào tạo chuyên nghiệp nào mà em chỉ học lóm từ mấy video trên youtube ạ nếu câu hỏi hơi ngớ ngẫn anh cho em xin lỗi ạ

1 Like

Ko sao bạn. Cái post của mình mang tính nhắc bạn nên biết 1 số cái như trên để bạn có kiến thức nền chuẩn.

1 Like
83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?