Cho em hỏi về code C với ạ

học sinh cấp 3.

Junior Member
Em đang làm bài tính tổng các chữ số của 1 số, nhưng nó yêu cầu nhiều case test em dùng vòng lặp while, ví dụ 2 case là 1234 và 5678 thì nó tính tổng của cả 2 số ấy luôn là 36, có cách nào để nó tính tổng của từng số không các thím?
 
Em đang làm bài tính tổng các chữ số của 1 số, nhưng nó yêu cầu nhiều case test em dùng vòng lặp while, ví dụ 2 case là 1234 và 5678 thì nó tính tổng của cả 2 số ấy luôn là 36, có cách nào để nó tính tổng của từng số không các thím?
tính tổng của từng số là sao thớt
 
dạ, là như này, ví dụ nó yêu cầu nhập vào n số, số thứ 1 là 1234, số thứ 2 là 5678,... thì output sẽ là 1+2+3+4, 5+6+7+8,... Nhưng em dùng while nó lại là 1+2+3+4+5+6+7+8+... nên em muốn hỏi cách tách ra
vậy là chỉ cần ra kết quả của 2 cái tổng số người dùng nhập vào.
và chỉ được dùng while đúng ko
 
cũng không cần lặp, đoạn này mình code đại thớt tinh chỉnh lại cho đúng nốt
kk22.png
 
C:
#include <stdio.h>

int main() {
    int c;
    int sum = 0;
    while ((c = getchar()) != EOF) {
        int digit = c - '0';
        if (digit >= 0 && digit < 10) {
            sum += digit;
        } else {
            printf("sum = %d\n", sum);
            sum = 0;
        }
    }
    return 0;
}
 
Last edited:
Em đang làm bài tính tổng các chữ số của 1 số, nhưng nó yêu cầu nhiều case test em dùng vòng lặp while, ví dụ 2 case là 1234 và 5678 thì nó tính tổng của cả 2 số ấy luôn là 36, có cách nào để nó tính tổng của từng số không các thím?
Sao tôi đéo hiểu gì hết các thím ạ
 
Input kiểu gì nữa?
Nhập trên một dòng phân cách bằng dấu cách hay nhập theo n dòng (n input)?
Cách nào cũng chuyển thành array (list/split) rồi getchar() + process + results
 
Back
Top